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

python logging 模块对多进程的支持

root4年前 (2022-07-09)python2164

深度解决方案

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://www.zhiqiu.top/?id=234

分享给朋友:

相关文章

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

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

flask 服务添加ssl 证书

flask 服务添加ssl 证书

1、利用openssl生成自用的ssl证书利用openssl 生成证书openssl genrsa -des3 -out server.key 2048不要密码:再执行 一下:openssl rsa -in server.key -out...

python 之optparse模块OptionParser

该模块让python脚本命令能够符合标准的Unix命令例程式每个命令行参数就是由参数名字符串和参数属性组成的。如 -f 或者 file 分别是长短参数名当你将所有的命令行参数都定义好了的时候,我们需要调用parse_args()方法赖际熙a...

Python的多线程并发限制

maxConnections connection_lock (maxConnections)在开启线程前执行connection_lock.acquire()线程执行结束执行connection_lock.releas...

Python控制函数运行时间

在线程中主动判断时间的运行长度 import requests, datetime, time import threading class MyThread(thre...

python2在pip安装包前的一键四连

linux 系统版本  ubuntu16.04 ,其他版本自动替换对应的命令apt-get update apt install -y pythonapt install -y python-pip pip i...