我有一个从文件配置的记录器,我想更改我的日志记录级别而不必更改 .conf 文件,而是使用内联代码;
import logging.config
logging.config.fileConfig('..\\LoggingConfig\\loggingfile.conf')
logging.StreamHandler.setLevel(logging.info)
logging.debug("Debug")
logging.info("Info")
这应该只会将“信息”日志行打印到屏幕上。我不知道在哪个对象上调用 setLevel()! logging.StreamHandler.setLevel(logging.info) 只是在搜索 30 分钟后在黑暗中刺了一下......
loggingfile.conf 文件;
[loggers]
keys=root
[logger_root]
handlers=screen
level=NOTSET
[formatter_modfunc]
format=%(module)-20s %(funcName)-25s %(levelno)-3s: %(message)s
[handlers]
keys=screen
[handler_screen]
class=StreamHandler
formatter=modfunc
level=DEBUG
args=(sys.stdout,)
qualname=screen
最佳答案
您需要在您的 Logger
实例上调用 setLevel
。
LOGGER = logging.getLogger('your.module.file.name')
LOGGER.setLevel(_level)
LOGGER.info('foo')
如果你只使用基本的记录器,你可以这样做
logging.basicConfig(level=_level)
logging.info('foo')
关于python - 更改 python fileConfig 记录器的级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10151698/