python3 logging模块中文乱码_python logging 日志以及中文日志乱码处理

1、首先导入日志模块

import logging

2、正常开发需要把日志打印到控制台,使用下面配置就可以了。

logging.basicConfig(level=logging.DEBUG,

format='%(asctime)s %(filename)s %(levelname)s %(message)s',

datefmt='%a %d %b %Y %H:%M:%S',

filemode='a')

3、如果需要打印到文件,就要设置一个handler,其实上面的配置加个文件名称也可以打印到文件,但是解决不了中文乱码问题。

fh = logging.FileHandler('xxx-log.log', mode='a', encoding='utf-8', delay=False)

fh.setLevel(logging.INFO)

fmt = logging.Formatter('%(asctime)s %(filename)s %(levelname)s %(message)s')

fh.setFormatter(fmt)

self.logger.handlers.append(fh)

如代码中标记的两处,标记1指定utf-8编码,标记2是把handler添加到日志里面。

我使用的python3.6通过阅读日志源码发现,loggin初始化handler是个List容器。

网上也有说修改logging.basicConfig的源码的,我个人不建议这样解决,因为可移植性差。

可能还有更好的方法,大家可以给我留言进行交流。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值