一、基本介绍
logging 模块是python自带的一个包,因此在使用的时候,不必安装,只需要import即可。
logging有 5 个不同层次的日志级别,可以将给定的 logger 配置为这些级别:
DEBUG:详细信息,用于诊断问题。Value=10。
INFO:确认代码运行正常。Value=20。
WARNING:意想不到的事情发生了,或预示着某个问题。但软件仍按预期运行。Value=30。
ERROR:出现更严重的问题,软件无法执行某些功能。Value=40。
CRITICAL:严重错误,程序本身可能无法继续运行。Value=50。
二、基本操作
主要调用logging.basicConfig(***kwargs*)这个函数对logging进行设置。函数常用的参数如下:
level:主要调整logging的级别
filename:输出日志的路径
filemode:直接写入还是追加写入
format:输出的格式
示例一:通过调整format,可以输出我们想要的格式
1 import logging 2 3 logging.basicConfig(format='%(asctime)s - %(message)s', datefmt='%d-%b-%y %H:%M:%S') 4 logging.warning('Admin logged out')
结果:
12-Jul-18 20:53:19 - Admin logged out
示例二:logging写多文件日志
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 """ 4 logging模块写多文件日志 5 """ 6 7 import logging 8 9 #创建文件 10 file_1 = logging.FileHandler('log_1.log', 'a') 11 #创建格式 12 fat = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s - %(module)s - %(message)s") 13 #文件应用格式 14 file_1.setFormatter(fat) 15 16 file_2 = logging.FileHandler('log_2.log', 'a') 17 fmt = logging.Formatter() 18 file_2.setFormatter(fmt) 19 20 logger1 = logging.Logger('s1', level=logging.ERROR) 21 22 logger1.addHandler(file_1) 23 logger1.addHandler(file_2) 24 25 #写日志 26 logger1.critical("i'm a error!")