python日志库
python中用作记录日记,默认分为六种日志级别(括号为级别对应的数值)
NOTSET(0)
DEBUG(10):详细信息,只有诊断问题时才需要
INFO(20):当程序运行时期望的一些信息
WARNING(30):软件运行正常,但是可能会有一些预期之外的事情发生
ERROR(40):由于一些严重问题导致软件一些功能出现问题
CRITICAL(50):很严重的错误直接导致软件不能运行
在自定义日志级别时注意不要和默认的日志级别数值相同
在logging执行时输出大于等于设置的日志级别的日志信息,默认的级别为WARNING
logging库
logging常见对象
Logger:日志,暴露函数给应用程序,基于日志记录器和过滤器级别决定那些日记有效
LogRecord:日志记录器,将日记传到响应的处理器处理
Handler:处理器,将(日志记录器产生的)日志记录发送至合适的目的地
Filter:过滤器,提供了更好的粒度控制,它可以决定输出那些日志记录
Formatter:格式化器,致命了最终输出中日志记录的格式
logging使用非常简单,使用basicConfig()方法就能基本满足使用;如果没有传入参数,会根据默认的配置创建Logger对象,默认日志级别被设置为WARNING
filename
日志输出到文件的文件名
filemode
文件模式,r[+],w[+],a[+]
format
日志输出的格式
datefat
日志附带日期时间的格式
style
格式占位符,默认为%和{}
level
日志输出级别
stream
定义输出流,用来初始化StreamHandler对象,不能喝filename参数一起使用,会抛出ValueError异常
handles
定义处理器,用来创建Handler对象,不能和filename、stream参数使用,否则会抛出ValueError异常
Formatter对象
Formatter对象用来设置具体的输出格式,常用格式如下:
格式变量描述%(asctime)s
将日志的世界构造成可读的形式
%(name)
日志对象的名称
%(filename)s
不包含路径的文件名
%(pathname)s
包含路径的文件名
%(funcName)
日志记录所在的函数名
%(levelname)s
日志的级别名
%(message)s
具体的日志信息
%(lineno)d
日志记录所在的行好
%(process)d
当前进程ID
%(processName)s
当前进程名称
%(thread)d
当前线程ID
%(threadName)s
当前线程名称
Logger对象
getLogger(name=None):返回一个Logger对象,这个对象提供所有的log使用的接口,name不指定默认为root
basicConfig():对logging做一个基本的配置
第三方库-loguru
loguru的作用跟logging差不多
存储到文件
最后更新于