Python logging模块基础:日志级别与配置详解
本文详解Python内置logging模块的核心用法。介绍DEBUG至CRITICAL五个日志级别及其数值,演示如何使用basicConfig函数配置日志格式、路径及写入模式,并通过示例展示如何生成指定格式日志及同时向多个文件输出日志,帮助开发者快速掌握日志记录基础。
logging模块基本介绍与日志级别
一、基本介绍
logging模块是Python标准库中自带的组件,因此在使用时无需额外安装,直接通过import语句导入即可使用。
logging模块提供了5个不同优先级的日志级别,用户可以将给定的logger实例配置为记录这些级别及以上的日志:
- DEBUG:用于记录详细的调试信息,通常帮助诊断具体问题。其对应的数值为10。
- INFO:用于确认代码按预期正常运行。其对应的数值为20。
- WARNING:表示发生了意想不到的情况,或预示着可能出现的问题,但软件目前仍按预期运行。其对应的数值为30。
- ERROR:表示出现了更严重的问题,导致软件无法执行某些特定功能。其对应的数值为40。
- CRITICAL:表示发生了严重错误,可能导致程序本身无法继续运行。其对应的数值为50。
logging模块基本配置与操作
二、基本操作
主要调用logging.basicConfig(**kwargs)函数来对logging模块进行全局配置。该函数常用的参数包括:
- level:用于设定日志记录的最低级别。
- 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!")
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













