Python在退出时刷新日志缓冲区

时间:2014-11-12 12:05:01

标签: python logging atexit

我编写了一个执行while循环的python脚本,需要键盘中断或系统关闭来终止。

我希望我的日志文件保存日志输出;目前创建了日志文件,但没有任何内容写入。

以下创建一个包含我期望内容的输出文件:

import logging

logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)

# create a file handler

handler = logging.FileHandler('hello.log')
# handler.setLevel(logging.INFO)

# create a logging format

formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)

# add the handlers to the logger

logger.addHandler(handler)

logger.info('Mmmm...donuts')

但是当我将它集成到我的代码中时,日志文件缺少任何内容:

from logging import log, FileHandler, getLogger, Formatter, CRITICAL    

logger = getLogger(__name__)
logger.setLevel(CRITICAL)
handler = FileHandler("test.log")
formatter = Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
logger.addHandler(formatter)

logger.info("start")
enter_while_loop()

我相信我应该使用atexit来解决这个问题,但是怎么做?

感谢您的时间和考虑。

0 个答案:

没有答案