python 日志文件用法
1、简介
在开发过程中,有时我们需要记录 程序的状态,结果。python最基础的print 很难满足我们的需 求,就需要用到python的另一个标准库:logging
logging是一个记录日志的模块,logging提供了日志信息的分级,格式化,过滤等功能。
在程序中使用好logging模块可以很方便的定位问题、分析问题。
2、基础用法
logging | 级别 | 描述 |
---|---|---|
debug | 10 | 调试信息 |
info | 20 | 普通信息 |
warning | 30 (默认级别) | 警告信息 |
error | 40 | 错误信息 |
critical | 50 | 严重错误信 |
import logging
logging.debug("调试信息")
logging.info('普通信息')
logging.warning('警告信息')
logging.error('错误信息')
logging.critical('严重错误信息')
终端打印结果:
WARNING:root:警告信息
ERROR:root:错误信息
CRITICAL:root:严重错误信息
这是因为logging 的日志信息分为不同的等级,默认等级为warning
可以通过basicConfig
修改默认等级
import logging
logging.basicConfig(level=logging.DEBUG)
logging.debug("调试信息")
logging.info('普通信息')
logging.warning('警告信息')
logging.error('错误信息')
logging.critical('严重错误信息')
终端打印结果:
DEBUG:root:调试信息
INFO:root:普通信息
WARNING:root:警告信息
ERROR:root:错误信息
CRITICAL:root:严重错误信息
2.1 basicConfig
logging.basicConfig(kwargs)**
通过basicConfig()
方法可以为logging
做一些简单的配置。此方法可以传递一些关键字参数。
格式 | 描述 |
---|---|
filename | 日志文件名,如果指定了这个参数,那么logging 会把日志信息输入到指定的文件之中。 |
filemode | 日志文件打开文件模式,默认为‘a’,追加模式,也可以设置为‘w’,每一次输入覆盖日志文件中的内容 |
format | 指定输出的log信息格式 |
datefmt | 如果在format 中使用了asctime 输出时间,那么可以使用此参数控制输出日期的格 式,使用方式与time.strftime() 相同。 |
style | 如果指定了格式,则对格式字符串使用此样式。’%’ 用于 printf 样式、’{’ 用于 str.format()、’$’ 用于 string。默认为“%”。 |
level | 设置输出的日志的级别,只有高出此级别的日志信息才会被输出。 |
stream | 指定将日志的输出流,可以指定输出到sys.stderr,sys.stdout或者文件,默认输出到sys.stderr,当stream和filename同时指定时,stream被忽略 |
format: 指定输出的格式和内容,format可以输出很