在Python - 使用logging模块管理日志文件 一文中介绍过python 日志模块 logging 的基础用法,该方法产生的logger会对中文乱码,本文记录解决方案。
问题原因 {#问题原因}
- 中文乱码是因为日志写入数据的编码不支持中文
- 需要将编码方案改为 utf-8
- 但
logging.basicConfig
在python 3.9 之前不支持 encoding 配置,而默认的encoding
为None
- 导致使用
logging.basicConfig
创建的logger 写入中文乱码
解决方案 {#解决方案}
- 使用
logging.getLogger()
获取日志对象 - 使用
FileHandler
函数确定编码方式,生成 handler - 将该 handler 加入到日志对象的 Handler 当中
封装方案 {#封装方案}
- 这里我把相关内容封装到我的代码库中,可以使用如下命令安装:
- 使用日志会方便得多
- 输出日志
参考资料 {#参考资料}
文章链接:
https://www.zywvvd.com/notes/coding/python/python-logger-utf8/python-logger-utf8/