为了账号安全,请及时绑定邮箱和手机立即绑定

写入日志文件时出现类型错误

写入日志文件时出现类型错误

慕田峪4524236 2021-06-07 21:27:20
我已经使用下面的代码设置了一个记录器:logger = logging.getLogger(__name__)logger.setLevel(logging.DEBUG)handler = logging.FileHandler(filename='application.log', mode='a+')handler.setLevel(logging.DEBUG)logger.addHandler(handler)每当我尝试写入日志时,请使用以下代码:logger.info("Application Started")我得到以下回溯:--- Logging error ---Traceback (most recent call last):  File "/usr/lib/python3.7/logging/__init__.py", line 985, in emit    stream.write(msg)TypeError: a bytes-like object is required, not 'str'Call stack:  File "/home/<user>/Code/<app_name>/src/<app_name>.py", line 48, in <module>    main()  File "/home/<user>/Code/<app_name>/src/<app_name>.py", line 42, in main    logger.info("Application Started")Message: 'Application Started'Arguments: ()我知道,鉴于上述例外情况,您会希望文件以二进制模式打开,但事实并非如此,我只使用“a+”模式打开。更新 我已经尝试将 encoding='utf-8' 与 mode='a+t' 一起添加到文件处理程序中,并根据下面评论中的建议删除命名参数文件名,但无济于事。
查看完整描述

1 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

事实证明,在项目的其他地方设置了一个记录器,该记录器使用 io.BytesIO() 作为流处理程序。这导致记录器期望一个记录器的字节数和另一个记录器的 str 。删除其他日志实现解决了这个问题。


查看完整回答
反对 回复 2021-06-16
  • 1 回答
  • 0 关注
  • 112 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号