Python 3:如何将警告和错误记录到日志文件中?

时间:2017-01-20 13:01:05

标签: python python-3.x logging

假设我有一个永远运行的While循环(它进行系统监控)。

它有三个条件,

While True:

    if something1
        Everything is OK!
    if something2
        Warning
    if something3
        Error

首先,我不想要任何东西。第二,我想在日志文件中添加警告。对于第三个,相同 - 除了它是一个错误。

由于这些是在while循环中,我还可以只添加一个记录器到something2和something3吗?我是从下面开始的吗?

import logging logger = logging.getLogger()

但是如何向每个相应的if语句添加警告和错误,以便它写入相同的日志文件?

2 个答案:

答案 0 :(得分:3)

尝试这样做

import logging
logging.basicConfig(filename='example.log',level=logging.DEBUG)
logging.debug('This message should go to the log file')
logging.info('So should this')
logging.warning('And this, too')

答案 1 :(得分:2)

使用logging模块:

import logging
logging.basicConfig(filename='logfile.log', level=logging.DEBUG, 
                    format='%(asctime)s %(levelname)s %(name)s %(message)s')
logger=logging.getLogger(__name__)
...    

try:
    1/0
except ZeroDivisionError as err:
    logger.error(err)
...

此外,您可以撰写logging.warninglogging.info,如@crai所述。