python打印中文报错_Python 3.6 logging模块打印中文日志报错
时间: 2024-02-27 17:58:29 浏览: 155
Python logging模块写入中文出现乱码
在 Python 3.x 中,logging 模块默认使用 ASCII 编码,因此在打印中文时会报错。解决方法是在代码中加入以下语句:
```python
import logging
import sys
# 设置日志输出格式
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(levelname)s %(message)s',
stream=sys.stdout)
# 设置中文编码
handler = logging.StreamHandler(sys.stdout)
handler.setFormatter(logging.Formatter('%(asctime)s %(levelname)s %(message)s'))
handler.setLevel(logging.DEBUG)
handler.addFilter(lambda record: not record.getMessage().startswith('[DEBUG]'))
logging.getLogger().addHandler(handler)
```
其中,`handler.setFormatter` 方法用于设置日志输出格式,`handler.setLevel` 方法用于设置日志输出级别,`handler.addFilter` 方法用于过滤掉一些不需要输出的日志。最后,将 handler 加入到 logger 中即可。
阅读全文