python logging日志模块原理及操作解析
作者:梦想一步登天
这篇文章主要介绍了python logging日志模块原理及操作解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
一、基本介绍
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,可以输出我们想要的格式
import logging logging.basicConfig(format='%(asctime)s - %(message)s', datefmt='%d-%b-%y %H:%M:%S') logging.warning('Admin logged out')
结果:
12-Jul-18 20:53:19 - Admin logged out
示例二:logging写多文件日志
#!/usr/bin/env python # -*- coding:utf-8 -*- """ logging模块写多文件日志 """ import logging #创建文件 file_1 = logging.FileHandler('log_1.log', 'a') #创建格式 fat = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s - %(module)s - %(message)s") #文件应用格式 file_1.setFormatter(fat) file_2 = logging.FileHandler('log_2.log', 'a') fmt = logging.Formatter() file_2.setFormatter(fmt) logger1 = logging.Logger('s1', level=logging.ERROR) logger1.addHandler(file_1) logger1.addHandler(file_2) #写日志 logger1.critical("i'm a error!")
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。