Python Logging

Python Logging 是官方的标准库,用来实现日志记录的功能

查看logging已配置的日志保存路径

 logging.getLoggerClass().root.handlers[0].baseFilename

如果没有则为空

组件
Loggers、handlers、filters、formatters

1.Logger

Logger 对象上使用最广泛的方法分为两类:配置和消息发送

参见的配置方法:

1.Logger.setLevel()
2.Logger.addHandler()和Logger.removeHandler()
3.Logger.addFilter()和Logger.removeFilter()

getLogger()返回具有指定名称的记录器实例的应用(如果已提供),活着的如果则返回root . 名称是以据点分割的层次结构.多次调用返回已存在对象的引用.
分成列表中较低的记录器是列表中较高的记录器的子项.
如果存在foo的记录器,名称为foo.barfoo.bar.baz的记录器都是foo的子项

Logger 有有效等级的概念. 如果围在记录器上显式设置级别,则使用父记录器的级别作为有效级别,如果父记录器没有明确的级别设置,则检查其父级.依此类推,搜索上级元素,知道找到明确设置的级别.根记录器始终有显式级别集(默认情况下为WARNING).在决定是否处理事件时,记录器的有效级别确定是否传递给记录器相关的处理器.

子记录器将消息传播到与其父级记录器关联的处理器.因此不必为应用程序使用的所有记录器进行定义和配置处理器.一般为顶级记录器配置处理器,根据需要创建子记录器集就足够了

参考资料
[1].logging-cookbook

[2].logging‘s author blog

[3].commit log of python logging module

[4].PEP 282 — A Logging System

All posts

Other pages