python3中使用logging模块写日志,中文乱码,如何解决?

python3中使用logging模块写日志,中文乱码,如何解决?

阅读 17.2k
2 个回答

创建filehandler的时候指定编码为utf-8,可以参考handler的构造方法:
https://docs.python.org/3.6/l...

如果是使用配置文件,也可以在配置文件的handler参数中指定编码:
[loggers]
keys=root,main

[logger_root]
level=DEBUG
handlers=consoleHandler

[logger_main]
level=DEBUG
handlers=fileHandler
qualname=main

[handlers]
keys=consoleHandler,fileHandler

[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=fmt
args=(sys.stdout,)

[handler_fileHandler]
class=logging.handlers.RotatingFileHandler
level=DEBUG
formatter=fmt
args=('logs/debug.log','a',1048576,5,'utf-8')

[formatters]
keys=fmt

[formatter_fmt]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=

以上是我搜索不到答案,参考官方文档实验出来的,所以详细写出来,供大家参考。

编码格式的问题吧,utf-8

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏