logging模块:
import logging logging.debug('debug message') logging.info('info message') logging.warning('warning message') logging.error('error message') logging.critical('critical message')
WARNING:root:warning message
ERROR:root:error message
CRITICAL:root:critical message
默认级别为warning,默认显示到运行结果中,默认追加模式
1 import logging 2 3 logging.basicConfig( 4 level=logging.DEBUG, 5 filename="logger.log", 6 filemode="w", 7 format="%(asctime)s %(filename)s [%(lineno)d] %(message)s" 8 ) 9 10 #lineno:调用日志输出函数的语句所在的代码行 11 logging.debug('debug message') 12 logging.info('info message') 13 logging.warning('warning message') 14 logging.error('error message') 15 logging.critical('critical message')
查看输出:
#logging.log 2019-03-18 15:11:28,349 logging_test.py [11] debug message 2019-03-18 15:11:28,349 logging_test.py [12] info message 2019-03-18 15:11:28,349 logging_test.py [13] warning message 2019-03-18 15:11:28,350 logging_test.py [14] error message 2019-03-18 15:11:28,350 logging_test.py [15] critical message
另一种更简单的方法:
def logger(): logger=logging.getLogger() fh=logging.FileHandler("test_log") ch=logging.StreamHandler() fm=logging.Formatter("%(asctime)s %(message)s") fh.setFormatter(fm) ch.setFormatter(fm) logger.addHandler(fh) logger.addHandler(ch) return logger #------------------------------- logger=logger() logger.debug('debug message') logger.info('info message') logger.warning('warning message') logger.error('error message') logger.critical('critical message')
运行结果不仅在屏幕上显示,也在文件test_log中显示
2019-03-18 15:45:02,454 warning message 2019-03-18 15:45:02,454 error message 2019-03-18 15:45:02,454 critical message