0
在Python中不同输出的多个记录器所以我想在同一个模块同一模块
log = logging.getLogger('FirstLogger')
plog = logging.getLogger('SecondLogger')
中创建多个记录器,我想单独配置每个记录。
所以我为plog添加了一个FileHandler,只需要logging.INFO或更高版本,而FileHandler for log需要logging.DEBUG或更高版本。
我已经创建了一个init_logger()函数,它在记录器的实例上
def init_logger(logger, fmode, cmode)
所以我想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)
我的问题是,即使“登录”有控制台设置级别信息和文件处理器为DEBUG我仍然只得到在文件和控制台都INFO。我无法弄清楚我在做什么是错的。
感谢@Pedru。我确实忘了设置记录器本身的水平。 – pengwinsurf
很高兴我能帮忙=) – Pedru