如何将 encoding
参数添加到 logging.basicConfig
?
我找到了 this bug report声明这对于 Python 3.3 现在是可能的。我需要这个用于 Python 2.7,错误报告说使用自定义 logging.FileHandler
对象,但我无法让它工作。
最佳答案
在您的案例中避免使用 basicConfig()
会更容易 - 只需创建处理程序并以编程方式添加它(确保代码只运行一次),例如:
root_logger= logging.getLogger()
root_logger.setLevel(logging.DEBUG) # or whatever
handler = logging.FileHandler('test.log', 'w', 'utf-8') # or whatever
handler.setFormatter(logging.Formatter('%(name)s %(message)s')) # or whatever
root_logger.addHandler(handler)
这或多或少就是 basicConfig()
所做的。
更新:在Python 3.9及之后的版本中,basicConfig()
有encoding
和errors
关键字参数可用.
关于python - 将编码参数添加到 logging.basicConfig,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10706547/