python多线程写日志_Python logging模块异步线程写日志实现过程解析

通过logging模块,重写一个logging2模块,独立开启线程,将待写的日志信息异步放入队列,做到日志输出不影响主流程性能,环境python3.8

logging2.py

importos

importthreading

importqueue

importtime

importdatetime

importlogging

fromlogging.handlers importRotatingFileHandler

classlogging2(threading.Thread):

AQueue =queue.Queue(100000)

nPID =os.getpid()

Adt =datetime.datetime.now().strftime('%Y%m%d')

nCount =1

def__init__(self, threadID, name, module, logLevel):

threading.Thread.__init__(self)

self.threadID =threadID

self.name =name

self.module =module

print("set loglevel: [%s]"%(logLevel) )

formatter =logging.Formatter('%(asctime)s|%(name)s|%(process)d|%(levelname)s|%(message)s')

logfile ="log_"+self.module +"_"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值