我正在使用python logging module
。使用此日志记录模块,我使用logging.info func
但问题是我没有在日志文件中收到stderr消息。有没有办法可以用记录模块打印stderr
以下代码我正在使用
import logging
def initialize_logger(output_dir):
'''
This initialise the logger
:param output_dir:
:return:
'''
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
# create console handler and set level to info
handler = logging.StreamHandler()
handler.setLevel(logging.INFO)
formatter = logging.Formatter("%(levelname)s - %(message)s")
handler.setFormatter(formatter)
logger.addHandler(handler)
handler = logging.FileHandler(output_dir, "w")
handler.setLevel(logging.DEBUG)
formatter = logging.Formatter("%(levelname)s - %(message)s")
handler.setFormatter(formatter)
logger.addHandler(handler)
在上面的代码中,我只在日志中发送日志记录语句。这意味着我没有在与日志文件相同的日志文件中获取stderr。有没有办法可以使用同一个文件发送stderr。例如,如果我的代码失败,那么它还应该发送stderr消息。
现在我不知道为什么会这样,但看起来我的框架已经抑制了stderr和stdin消息在控制台上打印。
有没有办法可以通过记录模块记录stderr?