更新时间:2022-12-09 14:35:37
test_log.py:
import logging
def get_logger(
LOG_FORMAT = '%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
LOG_NAME = '',
LOG_FILE_INFO = 'file.log',
LOG_FILE_ERROR = 'file.err'):
log = logging.getLogger(LOG_NAME)
log_formatter = logging.Formatter(LOG_FORMAT)
# comment this to suppress console output
stream_handler = logging.StreamHandler()
stream_handler.setFormatter(log_formatter)
log.addHandler(stream_handler)
file_handler_info = logging.FileHandler(LOG_FILE_INFO, mode='w')
file_handler_info.setFormatter(log_formatter)
file_handler_info.setLevel(logging.INFO)
log.addHandler(file_handler_info)
file_handler_error = logging.FileHandler(LOG_FILE_ERROR, mode='w')
file_handler_error.setFormatter(log_formatter)
file_handler_error.setLevel(logging.ERROR)
log.addHandler(file_handler_error)
log.setLevel(logging.INFO)
return log
def main():
my_logger = get_logger()
my_logger.info('This is an INFO message')
my_logger.warning('This is a WARNING message')
my_logger.error('This is an ERROR message')
if __name__ == '__main__':
main()
输出
$ python test_log.py
2013-09-20 11:52:07,096 root INFO This is an INFO message
2013-09-20 11:52:07,096 root WARNING This is a WARNING message
2013-09-20 11:52:07,096 root ERROR This is an ERROR message
$ cat file.log
2013-09-20 11:52:07,096 root INFO This is an INFO message
2013-09-20 11:52:07,096 root WARNING This is a WARNING message
2013-09-20 11:52:07,096 root ERROR This is an ERROR message
$ cat file.err
2013-09-20 11:52:07,096 root ERROR This is an ERROR message