旋转后,TimedRotatingFileHandler不会创建正确的备份

时间:2017-07-03 10:25:22

标签: python logging python-3.4 filehandler

我需要一个记录器每天创建一个新的日志文件,所以我使用TimedRotatingFileHandler并让它在午夜轮换。但每次旋转时,只有午夜后的第一条记录消息存储在备份文件中。旧日志被删除,“主”日志文件为空。这就是我创建记录器的方式:

def get_logger(name):   
    # Create the Logger
    logger = logging.getLogger(name)
    logger.setLevel(logging_lvl)

    # Create the Handler for logging data to a file
    logger_handler = TimedRotatingFileHandler(logging_filename, when='midnight', backupCount=7)
    logger_handler.setLevel(logging_lvl)

    # Create a Formatter for formatting the log messages
    logger_formatter = logging.Formatter(logging_format)

    # Add the Formatter to the Handler
    logger_handler.setFormatter(logger_formatter)

    # Add the Handler to the Logger
    logger.addHandler(logger_handler)

    all_logger[name] = logger

    return logger

问题是,我只需按ctrl + c即可关闭我的应用程序?我是否必须手动关闭FileHandler? 我在Linux机器上使用Python 3.4。

编辑:logging_lvl,logging_filename,logging_lvl和logging_format是上面定义的变量。

0 个答案:

没有答案