用Python为同一modu中的不同输出创建多个记录器

2024-09-30 02:18:17 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我想在同一个模块中创建多个记录器

log = logging.getLogger('FirstLogger')
plog = logging.getLogger('SecondLogger')

我想分别配置每个记录器。在

所以我为plog添加了一个FileHandler,它只需要日志记录.INFO或更高版本,而用于日志的FileHandler日志记录.DEBUG或以上。在

我已经创建了一个init_logger()函数,该函数接受记录器的实例来执行配置

^{pr2}$

所以我希望FirstLogger记录到我为它单独创建的一个文件中,并使用调试级别进行日志记录。我会的

log = logging.getLogger('FirstLogger')
init_logger(log,logging.DEBUG,logging.INFO)

plog = logging.getLogger('SecondLogger')
init_logger(plog,logging.INFO,logging.INFO)

在init_logger中,我为FileHandler指定不同的文件,并根据传递给init_logger的内容设置级别。在

flog = logging.FileHandler(logfile)
flog.setLevel(fmode)
flog.setFormatter(...)

console = logging.StreamHandler()
console.setLevel(cmode)
console.setFormatter(...)

log.addhandler(flog)
log.addHandler(console)

我的问题是,即使'log'将console level设置为INFO,FileHandler设置为DEBUG,我仍然只在文件和控制台中获取信息。我搞不清我现在做的事情有什么不对。在


Tags: 文件debuginfologinitlogging记录logger

热门问题