【发布时间】:2020-11-11 08:52:31
【问题描述】:
我们有一个小的配置类,它可以返回一个带有一些特殊格式的记录器对象(来自logging 模块,而不是自定义的)。记录器级别为 20,但不会打印低于警告的任何内容。是否有任何其他参数会影响日志记录行为?下面,稍微执行一下我的意思:
logger = config_object.make_logger()
logger.setLevel(10)
# Prints logger attrs
print(logger.name)
print(logger.disabled)
print(logger.filters)
print(logger.level)
# Logger behaviour seems not right
logger.critical(f'method critical')
logger.error(f'method error')
logger.warning(f'method warning')
logger.info(f'method info')
logger.debug(f'method debug')
上面的代码输出如下:
__main__
False
[]
10
method critical
method error
method warning
如果logger.level 是10,它不应该一直记录到debug吗?
【问题讨论】:
-
那是什么记录器对象?自写或来自日志模块docs.python.org/3/howto/logging.html?
-
@PatrickArtner 来自 loggig 模块。编辑问题
-
无法重现...
config_object是什么? -
@Tomerikoo config_object 只是一些应用配置。
make_logger方法返回一个带有一些特定格式选项的记录器对象(来自logging模块),因此每个开发人员都应该使用这种格式,而不是临时定义的 -
@Tomerikoo。实际上,配置类与您链接的配置类相同...非常感谢!
标签: python python-3.7