logging模块为python应用程序和库实现灵活记录系统的函数和类操作信息。
1.下载安装:
pip install logging
2.日志级别:
级别 | 描述 |
debug | 详细信息,通常在诊断问题时才有意义 |
info | 确认事情按预期工作 |
warning | 警告信息 |
error | 更严重的问题 |
Critical | 严重错误,表面程序本身可能无法继续运行 |
logging.debug(msg,*args,**kwargs) #创建一条严重级别为DEBUG的日志记录
logging.info(msg,*args,**kwargs) #创建一条严重级别为info的日志记录
logging.warning(msg,*args,**kwargs)#创建一条严重级别为warning的日志记录
logging.error(msg,*args,**kwargs)#创建一条严重级别为error的日志记录
logging.critical(msg,*args,**kwargs)#创建一条严重级别为critical的日志记录
3.logging模块的四大组件
loggers:提供应用程序代码直接使用的接口
handlers:提供将日志记录发送到指定的目的位置
filters:提供更细粒度的日志过滤功能。用于决定哪些日志记录将被输出
formatters:用于控制日志信息的最终输出格式
4.logging.basicConfig(**kwargs)的函数说明
filename:指定日志输出目标文件的文件名,指定该设置项后日志信息就不会被输出到控制台了
filemode:指定日志文件的打开模式,默认为‘a’,该选项要在filename指定时才有效
format:指定日志格式字符串,即指定日志输出时所包含的字段信息以及它们的顺序
datefmt:指定日期/时间格式,该选项依赖format
level:指定日志器的日志级别
stream:指定日志输出目标,该选项不可和filename 同时指定
format格式字符串的字段信息包含以下:
%(levelno)s:打印日志级别的数值
%(levelname)s:打印日志级别的名称
%(pathname)s:打印当前执行程序的路径,其实就是sys.argv[0]
%(filename)s:打印当前执行程序名
%(funcName)s:打印日志的当前函数
%(lineno)d:打印日志的当前行号
%(asctime)s:打印日志的时间
%(thread)d:打印线程ID
%(threadName)s:打印线程名称
%(process)d:打印进程ID
%(message)s:打印日志信息
logging有一个日志处理的主对象,其他处理方式都是通过addHandler添加进去,logging中包含的handler主要有如下几种,
handler名称:位置;作用
StreamHandler:logging.StreamHandler;日志输出到流,可以是sys.stderr,sys.stdout或者文件
FileHandler:logging.FileHandler;日志输出到文件
BaseRotatingHandler:logging.handlers.BaseRotatingHandler;基本的日志回滚方式
RotatingHandler:logging.handlers.RotatingHandler;日志回滚方式,支持日志文件最大数量和日志文件回滚
TimeRotatingHandler:logging.handlers.TimeRotatingHandler;日志回滚方式,在一定时间区域内回滚日志文件
SocketHandler:logging.handlers.SocketHandler;远程输出日志到TCP/IP sockets
DatagramHandler:logging.handlers.DatagramHandler;远程输出日志到UDP sockets
SMTPHandler:logging.handlers.SMTPHandler;远程输出日志到邮件地址
SysLogHandler:logging.handlers.SysLogHandler;日志输出到syslog
NTEventLogHandler:logging.handlers.NTEventLogHandler;远程输出日志到Windows NT/2000/XP的事件日志
MemoryHandler:logging.handlers.MemoryHandler;日志输出到内存中的指定buffer
HTTPHandler:logging.handlers.HTTPHandler;通过"GET"或者"POST"远程输出到HTTP服务器
转博文:http://www.cnblogs.com/zhbzz2007/p/5943685.html
https://www.cnblogs.com/liujiacai/p/7804848.html