如何将 encoding
参数添加到 logging.basicConfig
?
我发现 了这个错误报告,指出这现在可以用于 Python 3.3。我需要这个用于 Python 2.7,错误报告说要使用自定义 logging.FileHandler
对象,但我无法让它工作。
原文由 BioGeek 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何将 encoding
参数添加到 logging.basicConfig
?
我发现 了这个错误报告,指出这现在可以用于 Python 3.3。我需要这个用于 Python 2.7,错误报告说要使用自定义 logging.FileHandler
对象,但我无法让它工作。
原文由 BioGeek 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以传递特定文件处理程序的列表:
import logging
logging.basicConfig(handlers=[logging.FileHandler(filename="./log_records.txt",
encoding='utf-8', mode='a+')],
format="%(asctime)s %(name)s:%(levelname)s:%(message)s",
datefmt="%F %A %T",
level=logging.INFO)
它工作得很好(python 版本 == Python 3.6.8 :: Anaconda, Inc.)
原文由 Jesus Gebrial 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
在您的情况下,避免使用
basicConfig()
会更容易 - 只需创建处理程序并以编程方式添加它(确保代码只运行一次),例如:这或多或少是
basicConfig()
所做的。更新: 在Python 3.9及更高版本中,
basicConfig()
有encoding
和errors
关键字参数可用。