python - 更改 python fileConfig 记录器的级别

标签 python logging

我有一个从文件配置的记录器,我想更改我的日志记录级别而不必更改 .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')

参见 http://docs.python.org/howto/logging.html

关于python - 更改 python fileConfig 记录器的级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10151698/

相关文章:

python - Django REST - 断言错误 : `fields` must be a list or tuple

python - 如何在文本文件中多次出现某些单词后提取 3000 个字符?

python - 在保留原始数据的条件下从 Pandas dataFrame 中删除重复项

Python、pyPdf、Adobe PDF OCR 错误 : unsupported filter/lzwdecode

c# - .NET 日志框架

python - 使用 Python 2.7 CGIHTTPServer 的 HTTPS

c# - 将 Windsor Logging Facility 安装到图书馆中

java - 找不到记录器的附加程序(com.zaxxer.hikari.HikariConfig)

python - 从标准输出获取时间戳后的行

java - 限制 log4j2 中汇总日志文件的最大数量