gpt4 book ai didi

Pythonlogging.basicConfig为处理程序设置不同的级别

转载 作者:行者123 更新时间:2023-12-01 08:58:31 25 4
gpt4 key购买 nike

我的日志记录代码如下:

logging.basicConfig(
handlers=[
logging.FileHandler("log.txt", "w"),
logging.StreamHandler()
],
format='%(levelname)s - %(asctime)s - %(message)s',
datefmt='%H:%M:%S',
level=logging.DEBUG)

我想为我的 2 个处理程序设置不同的级别。但我真的想保持简单,我想用 basicConfig 来做到这一点。

有什么办法可以做到这一点吗?

我尝试过,但失败了:

logging.basicConfig(
handlers=[
logging.FileHandler("log.txt", "w", level=logging.DEBUG),
logging.StreamHandler(level=logging.DEBUG)
],
format='%(levelname)s - %(asctime)s - %(message)s',
datefmt='%H:%M:%S')

TypeError: init() got an unexpected keyword argument 'level'

最佳答案

我认为您实际上不会在处理程序级别的实践中使用 DEBUG ,因为它们会传递所有消息 (>= DEBUG),无论是否您将级别设置为DEBUG。对于更高级别(出于说明目的,我将其称为 level1level2),您可以这样做

h1 = logging.FileHandler(...); h1.setLevel(level1)
h2 = logging.StreamHandler(...); h2.setLevel(level2)

然后将handlers=[h1, h2]传递给basicConfig

关于Pythonlogging.basicConfig为处理程序设置不同的级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52644217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com