Python-logging-日志
本文最后更新于:2020年10月11日 下午
日志
日志是跟踪软件运行时所发生的事件的一种方法
软件开发者在代码中调用日志函数,表明发生了特定的事件
logging
可以很好的代替print
功能,并且更加方便管理
快速开始
logging
是python
自带的日志模块,一般不需要额外安装
需要使用日志前import
即可
案例:Hello World
1 |
|
这是一个简单的
logging
使用的例子
这里用logging
记录了Hello World
这个信息
如果没有特别设置,这个信息默认会输出到控制台上。并且附带一些诸如时间之类的额外的信息
日志等级
logging
的日志有六个等级
等级 | NOTSET | DEBUG | INFO | WARNING(默认) | ERROR | CRITICAL |
---|---|---|---|---|---|---|
数值 | 0 | 10 | 20 | 30 | 40 | 50 |
信息 | 提示 | 调试信息 只在调试问题时使用 |
信息 事情按预期工作 |
警告 没有预料到的事件提示 |
错误 软件不能执行一些功能 |
严重错误 软件已不能继续运行 |
你可以在代码需要的位置记录不同等级的日志
案例:记录不同级别的日志
1 |
|
可以在使用前,用logging.basicConfig
规定日志的输出等级(上面说过的等级都有)
低于规定等级的日志,在程序运行过程中不会记录
案例:指定输出日志等级
1 |
|
文件日志
可以在使用前,用logging.basicConfig
规定日志的输出文件与输出方式
1 |
|
- filename
日志文件文件路径 - filemode
记录模式,可填入’a’或’w’,与open
函数的对应参数效果一致 (即’w’为覆盖,’a’为增量)
日志格式
日志中的信息除了基本写在程序中的信息以外,还包括了一些附属的信息(时间,级别,模块名……)
设置日志记录的格式结构,可以让记录更加精简或更加详细
可以在使用前,用logging.basicConfig
规定日志格式
1 |
|
格式参数参考
日志内容 | 信息 |
---|---|
%(name)s | Logger的名字 |
%(levelno)s | 数字形式的日志级别 |
%(levelname)s | 文本形式的日志级别 |
%(pathname)s | 调用日志输出函数的模块的完整路径名,可能没有 |
%(filename)s | 调用日志输出函数的模块的文件名 |
%(module)s | 调用日志输出函数的模块名 |
%(funcName)s | 调用日志输出函数的函数名 |
%(lineno)d | 调用日志输出函数的语句所在的代码行 |
%(created)f | 当前时间,用UNIX标准的表示时间的浮 点数表示 |
%(relativeCreated)d | 输出日志信息时的,自Logger创建以 来的毫秒数 |
%(asctime)s | 字符串形式的当前时间。默认格式:”%Y-%m-%d %H:%M:%S” 效果:“2003-07-08 16:49:45,896”。逗号后面的是毫秒 |
%(thread)d | 线程ID。可能没有 |
%(threadName)s | 线程名。可能没有 |
%(process)d | 进程ID。可能没有 |
%(message)s | 用户输出的消息 |
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!