python打印中文报错_Python 3.6 logging模块打印中文日志报错

在使用Python 3.6的logging模块时,尝试打印中文日志出现了UnicodeEncodeError,原因是'ascii' codec无法编码中文字符。通过在配置文件中为fileHandler参数添加'utf-8'编码方式,可以成功解决这个问题。
摘要由CSDN通过智能技术生成

错误信息

2017-12-02 18:50:05,771 - root - INFO - 测试测试

--- Logging error ---

Traceback (most recent call last):

File "/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/logging/__init__.py", line 994, in emit

stream.write(msg)

UnicodeEncodeError: 'ascii' codec can't encode characters in position 40-43: ordinal not in range(128)

Call stack:

File "/Users/fengyiwei/PycharmProjects/untitled/crawlercbc.py", line 251, in

root_logger.info("%s" % ('测试测试'))

Message: '测试测试'

Arguments: ()

代码

logging.config.fileConfig('logging.config')

root_logger = logging.getLogger('root')

root_logger.info("%s" % ('测试测试'))

配置文件logging.config

[loggers]

keys=root,main

[handlers]

keys=consoleHandler,fileHandler

[formatter

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值