为什么不显示来自导入模块的日志消息?

2024-10-02 00:32:57 发布

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

我似乎无法提高模块记录器的日志级别。我有一个使用根记录器的脚本,我只想打印它的ERROR日志。但是,对于我导入的模块,我希望在DEBUG上进行日志记录

mymodule.py中:

import logging
log = logging.getLogger(__name__)
log.setLevel(logging.ERROR)

def do_something():
    log.DEBUG("Module debug")
    log.INFO("Module info")
    log.WARNING("Module warning")
    log.ERROR("Module error")

在{}中:

import mymodule
import logging

logging.getLogger().setLevel(logging.ERROR)

modulelogger = logging.getLogger("mymodule")
print(modulelogger)

modulelogger.setLevel(logging.DEBUG)
print(modulelogger)

mymodule.do_something()

log.DEBUG("Script debug")
log.INFO("Script info")
log.WARNING("Script warning")
log.ERROR("Script error")

运行myscript.py时的输出:

Module error
<Logger mymodule (ERROR)>
<Logger mymodule (DEBUG)>
Error:root: script error
  1. 为什么我最初认为“mymodule”的级别是WARNING?模块将其定义为ERROR
  2. 为什么在将“mymodule”记录器的级别设置为DEBUG之后,我看不到INFODEBUG日志

Tags: 模块debugimportlogloggingscripterror级别

热门问题