python中logging提供了一组便利的函数,用来做简单的日志。它们分别是 debug()、 info()、 warning()、 error() 和 critical()。
logging以严重程度递增排序:
DEBUG:详细信息,一般只在调试问题时使用
INFO:证明事情按预期工作
WARNING:某些没有预料到的时间提示,或者在将来可能会出现的问题提示。例如:磁盘空间不足,但是软件还是会照常运作
ERROR:由于更严重的问题,软件已不能执行一些功能了
CRITICAL:严重错误,表明软件已不能继续运行了
严重级别排序:CRITICAL>ERROR>WARNING>INFO>DEBUG
默认等级是WARNING
1.输出日志到控制台
1 import logging 2
3 # 创建一个日志收集器,指定具体名称的记录器
4 my_log_collector = logging.getLogger("mylog") 5
6 # 设置日志收集器等级
7 my_log_collector.setLevel("DEBUG") # 等级参数必须大写
8
9 # 设置日志输出格式
10 formater = logging.Formatter('%(asctime)s [%(filename)s-->line:%(lineno)d] \ 11 - %(levelname)s: %(message)s') 12
13 # 定义输出到控制台
14 output_console = logging.StreamHandler() 15
16 # 设置输出到控制台日志格式
17 output_console.setFormatter(formater) 18
19 # 设置输出到控制台日志等级
20 output_console.setLevel("INFO") # 等级参数必须大写
21
22 # 把输出到控制台,添加到日志收集器中
23 my_log_collector.addHandler(output_console) 24
25 # 需要输出的日志等级
26 my_log_collector.debug('输出日志信息为debug') 27 my_log_collector.info('输出日志信息为info') 28 my_log_collector.warning('输出日志信息为warning') 29 my_log_collector.error('输出日志信息为error') 30 my_log_collector.critical('输出日志信息为critical')
2.输出日志到具体路径的文件夹下
1 import logging 2 # 创建一个日志收集器,指定具体名称的记录器
3 my_log_collector = logging.getLogger("mylog") 4
5 # 设置日志收集器等级
6 my_log_collector.setLevel("DEBUG") # 等级参数必须大写
7
8 # 设置日志输出格式
9 formater = logging.Formatter('%(asctime)s [%(filename)s-->line:%(lineno)d] \ 10 - %(levelname)s: %(message)s') 11
12 # 定义输出到具体路径下的文件夹,使用R/r进行格式化,输出格式为【utf-8】
13 output_file = logging.FileHandler(filename=r"E:\testfile\test.log", encoding='utf-8') 14
15 # 把日志格式添加到输出文件对象下
16 output_file.setFormatter(formater) 17
18 # 设置输出到文件夹下的日志等级
19 output_file.setLevel("INFO") # 等级参数必须大写
20
21 # 把输出到控制台,添加到日志收集器中
22 my_log_collector.addHandler(output_file) 23
24 # 需要输出的日志等级
25 my_log_collector.debug('输出日志信息为debug') 26 my_log_collector.info('输出日志信息为info') 27 my_log_collector.warning('输出日志信息为warning') 28 my_log_collector.error('输出日志信息为error') 29 my_log_collector.critical('输出日志信息为critical')