简介
logging模块是python日志管理模块
使用
1 | In [19]: import logging |
日志级别:
CRITICAL > ERROR > WARNING(默认) > INFO > DEBUG > NOTSET
默认日志格式:
LOGLEVEL:LOGGERNAME:msg
日志级别,日志格式,输出位置设置
使用logging.basicConfig进行日志输出信息配置
1 | logging.basicConfig(level=logging.DEBUG, |
参数说明:
1.level:指定日志记录级别,可选值logging.ERROR/WARNING/INFO/DEBUG
2.format:指定日志输出格式:
| 参数 | 说明 |
|---|---|
| %(name)s | Logger的名字 |
| %(levelno)s | 数字日志级别 |
| %(levelname)s | 文本日志级别 |
| %(pathname)s | 调用日志输出函数的模块文件路径 |
| %(filenames)s | 调用日志输出函数的模块文件名 |
| %(module)s | 调用日志输出函数的模块名 |
| %(funcName)s | 调用日志输出函数的函数名 |
| %(lineno)d | 调用日志输出函数语句所在行号 |
| %(created)f | 当前时间 |
| %(relativeCreated)d | 当前时间 |
| %(asctime)s | 当前时间,格式’2015-05-28 20:50:03,345’ |
| %(thread)d | 线程id |
| %(threadName)s | 线程名 |
| %(process)d | 进程id |
| %(message)s | 消息 |
3.datefmt:指定日志中日期格式
4.filemode:指定文件打开方式
5.filename:指定日志文件位置
6.stream:制定stream创建StreamHandler,若同时存在filename和stream时,filename启用
logging.getLogger()
1 | import logging |
logger说明:
logging.getLogger为默认根logger,logger为树形结构, 在使用m2logger时并为设置hander、formatter、level,但其输出与mlogger相同,原因logger具有继承功能(按名称进行属性继承)
logger.Filter('com.uk.silence')用于定义filter功能,表示只有以com.uk.silence.child开头的logger进行信息输出,按示例若指定mlogger.addFilter(filter)后使用mlogger.error则不能输出日志
handler说明:
| 类型 | 说明 |
|---|---|
| logging.StreamHandler | 指定向流对象进行 |
| logging.FileHandler | 指定文件 |
| logging.handlers.RotaingFileHandler | 指定文件,但可管理文件大小,当超过指定值后则重新创建日志文件 |
| logging.handlers.TimedRotatingFileHandler | 指定文件,超过指定周期后重新创建日志文件 |
| logging.handlers.SocketHandler | 指定socket |
| logging.handlers.SyslogHandler | 指定syslog服务器 |
| logging.handlers.HTTPHandler | 使用post/get请求提交数据到web服务器 |
logging.config.fileConfig
使用文件方式进行日志管理配置,配置文件格式如:
1 | [loggers] |