【问题标题】:Logging not creating file记录不创建文件
【发布时间】:2020-02-05 15:58:34
【问题描述】:

现在我正在复制代码来测试 python 的日志记录模块:

import logging

# Gets or creates a logger
logger = logging.getLogger(__name__)  

# set log level
logger.setLevel(logging.WARNING)

# define file handler and set formatter
file_handler = logging.FileHandler('logfile.log')
formatter    = logging.Formatter('%(asctime)s : %(levelname)s : %(name)s : %(message)s')
file_handler.setFormatter(formatter)

# add file handler to logger
logger.addHandler(file_handler)

# Logs
logger.debug('A debug message')
logger.info('An info message')
logger.warning('Something is not right.')
logger.error('A Major error has happened.')
logger.critical('Fatal error. Cannot continue')

由于某种原因,该文件没有创建,我不知道为什么...请帮助!

我刚刚意识到它甚至没有登录控制台,除非我在导入后添加一些内容,例如“logging.info('example)”......然后#Logs上的日志显示在控制台中,仍然没有文件生成...发生了什么

【问题讨论】:

    标签: python-3.x logging


    【解决方案1】:

    在记录任何内容并添加处理程序之前添加file_handler.setLevel(...)

    # set log level
    file_handler.setLevel(logging.WARNING)
    # add file handler to logger
    logger.addHandler(file_handler)
    

    这样您将确保新处理程序也获得特定级别的设置。

    每个处理程序可以有不同的日志记录级别。

    【讨论】:

    • 你好!我尝试了您的解决方案,但仍然无法正常工作,文件未创建。
    • 您是否在将处理程序添加到记录器之前设置了级别?
    • 是的,我在“file_handler.setFormatter(formatter)”行下添加了
    • 确认从新环境开始的行为了吗?您的代码是更大代码库的一部分吗?
    • @JoaquinDiaz:你的问题解决了吗?我的回答有帮助吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多