Python 日志记录:INFO、DEBUG 日志未显示

2023-12-02

Python版本:2.7

我正在使用下面的代码在控制台上显示日志。但是,不显示 INFO 和 DEBUG 日志。

Code

import logging
class LogTest():
    def __init__(self):
        logger_obj = logging.getLogger('Sample Logger')
        console_logger = logging.StreamHandler()
        console_logger.setLevel(logging.INFO)

        logger_obj.addHandler(console_logger)
        logger_obj.info('INFO LOG')
        logger_obj.debug('DEBUG LOG')
        logger_obj.error('ERROR LOG')
        logger_obj.warning('WARNING LOG')
        logger_obj.critical('CRITICAL LOG')

if __name__ == '__main__':
    log_instance = LogTest()

Output

ERROR LOG
WARNING LOG
CRITICAL LOG

根据python 文档,应显示高于设置的日志记录级别的日志。谁能解释为什么会发生这种情况?

另外,我应该如何启用调试和信息日志?


  1. 您正在为流处理程序设置日志级别,而您必须为记录器本身设置日志级别(logger_obj在你的情况下)。 Handler 用于对日志应用额外的过滤器,但它们首先由 logger 本身进行过滤。

  2. DEBUG > INFO,因此您必须将级别设置为DEBUG,而不是INFO(如果您想查看所有日志)。

简而言之,使用:

logger_obj.setLevel(logging.DEBUG)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 日志记录:INFO、DEBUG 日志未显示 的相关文章

随机推荐