使用日志记录模块打印stderr

时间:2017-12-22 05:26:41

标签: python logging

我正在使用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?

0 个答案:

没有答案