当前位置:首页 > python > 正文内容

python logging 模块对多进程的支持

root4年前 (2022-07-09)python2167

深度解决方案

logging 模块 是支持多线程的

但是多进程的会出现问题,因为对文件读写会出现资源的争抢

如何解决对多进程的出现的问题

concurrent-log-handler包 解决问题

该模块同样也为python的标准日志记录软件提供了额外的日志处理程序。即回将日志事件写入日志文件,当文件达到一定大小时,该日志文件将轮流轮转,多个进程可以安全地写入同一日志文件,还可以将其进行压缩(开启)

需要将cloghandler更改为concurrent_log_handler

import logging.handlers
logging.handlers.RotatingFileHandler(filename=filename, maxBytes=41943040, backupCount=5,encoding="utf-8")

更换为:

from concurrent_log_handler import ConcurrentRotatingFileHandler
ConcurrentRotatingFileHandler(filename=filename, maxBytes=41943040, backupCount=5,encoding="utf-8")


扫描二维码推送至手机访问。

版权声明:本文由一叶知秋发布,如需转载请注明出处。

本文链接:https://zhiqiu.top/?id=234

分享给朋友:

相关文章

Python eventlet 模块,Timeout() 控制子程序运行时间

pip install  eventlet #安装依赖包# -*- coding:utf-8 -*- import eventlet import time e...

自定义logger 模块使调用打印日志的文件为调用文件而不是logger模块

更新logging 源码1248行f f f.f_back替换为f f f.f_back     f_2 f.f_back   ...

python os 模块文件常用操作

123456import os #回去当前文件路径os.path.realpath(__file__)#获取文件是否存在os.path.exists(filepath)#获取文件大小os.path.getsize(fil...

python3.5.2版本不支持的语法格式

在使用geoip2的时候,运行被告知包中语法错误查看详情发现在python 3.5中不支持注释var类型如下语法 _buffer: Union[bytes, FileBuffer, "mma...

pip 升级到指定版本,但是py2的pip版本务必在20版本以内包含20版本

python3 -m pip install --user --upgrade pip==9.0.3(换成你想要的版本编号)如果python2的只能升级到20+版本。超过会出现不支持的情况...

获取大文件的MD5值

(, )os.path.(, )logger.()         os.path.(, )logger.()  &...