简介
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] |