logging 是python下常用的日志模块,总结一下它的用法。
基本用法
1 | #获取logger |
这样就可以将脚本中通过debug出的文字打印在console中了。
logging level
默认系统有6级日志级别:
| level | Numeric Value |
| CRITICAL | 50 |
| ERROR | 40 |
| WARNING | 30 |
| INFO | 20 |
| DEBUG | 10 |
| NOTSET | 0 |
当然也可以自定义日志级别,但是只有高于logger level日志才能输出。一般来说这6级已经够我们用的了。
Handler Object
常用的三种Handler是 SteamHanlder、FileHandler和NullHandler。
StreamHandler
将日志输入到流中,默认的stream是 stderr。上面的示例代码中就是利用stream输出到命令行中。
FileHanlder
将日志输入出到文件中。
NullHandler
什么也不做的处理类
通过文件配置
1 | [loggers] |
将logger的参数配置到配置文件中,这里用的是logging.conf文件,你可以随意指定文件名。
然后在代码中使用:1
2
3
4logging.config.fileConfig('logging.conf')
logger = logging.getLogger('GPServer')
logger.debug('xxx')
logger.debug('aaa')
需要注意的是getLogger方法默认取的是root这个handler,在我们自定义的handler中要添加qualname=GPServer和propagate=0参数。