默认情况下,python使用logging模块将日志打印到屏幕上(stdout),日志级别为WARNING(即只有日志级别高于WARNING的日志信息才会输出),日志格式如下图所示:
简单使用
#!/usr/local/bin/python# -*- coding:utf-8 -*-import logging logging.debug('debug message') logging.info('info message') logging.warn('warn message') logging.error('error message') logging.critical('critical message')
输出
WARNING:root:warn message ERROR:root:error message CRITICAL:root:critical message
通过logging.basicConfig函数对日志的输出格式及方式做相关配置。logging.basicConfig(**kwargs) 该函数必须在main函数线程除外的子线程启动之前调用,否则可能会造成日志重复记录
import logging fmt = '%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s: %(message)s' logging.basicConfig(level=logging.DEBUG, format=fmt, filename='D:\Python\logs.txt', filemode='w', datefmt='%a, %d %b %Y %H:%M:%S' ) logging.debug('this is a debug level message') logging.info("this is a info level message") logging.warning("this is a warning level message") logging.error("this is a error level message") logging.critical("this is a critical level message")
filename:创建一个FileHandler,使用指定的文件名,而不是使用StreamHandler。
filemode:如果指明了文件名,指明打开文件的模式(如果没有指明filemode,默认为'a')。
format:handler使用指明的格式化字符串。
datefmt:使用指明的日期/时间格式。