logging库日志级别(默认的级别是warning)
| 级别 |
级别数值 |
使用时机 |
| DEBUG |
10 |
详细信息,常用语调试 |
| INFO |
20 |
程序正常运行过程中产生的一些信息 |
| WARNING |
30 |
警告用户,虽然程序还在正常工作但有可能发生错误 |
| ERROR |
40 |
由于更严重的问题,程序已不能执行一些功能了 |
| CRITICAL |
50 |
严重错误,程序已不能继续运行 |
logging.basicConfig(level=logging.DEBUG) #设置日志输出级别
logging的高级应用
logging模块采用了模块化设计,主要包含四种组件:
loggers:记录器,提供应用程序代码能直接使用的接口
handlers:处理器,将记录器产生的日志发送至目的地
filters:过滤器,提供更好的粒度控制,决定哪些日志会被输出
formatters:格式化器,设置日志内容的组成结构和消息字段
logger记录器
1.提供应用程序的调用接口
logger = logging.getLogger(__name__)
logger是单例的
2.决定日志记录的级别
logger.setLevel()
3.将日志内容传递到相关联的handlers中
logger.addHandler()和logger.removeHanler()
handlers处理器
它们将日志分发到不同的目的地。可以是文件、标准输出、邮件、或者通过socket、http等协议发送到任何地方
StreamHandler
标准输出stdout(如显示器)分发器
创建方法:sh = logging.StreamHandler(stream=None)
FileHandler
将日志保存到磁盘文件的处理器。
创建方法:fh = logging.FileHandler(filename,mode="a",encoding=None,delay=False)
setFormatter():设置当前handler队形使用的消息格式
formatters格式
formatter对象用来最终设置日志信息的顺序、结构和内容
其构造方法为:ft = logging.Formatter._init_(fmt=None,datefmt=None,style=' %')
datefmt默认是%Y-%m-%d %H:%M:%S样式的
style参数默认为百分符%,这表示%()<dictionary key>)s格式的字符串