美文网首页
使用Python的logging.conf参数解读

使用Python的logging.conf参数解读

作者: 李白开水 | 来源:发表于2020-04-10 08:56 被阅读0次

这是python官方指南的通过ini配置日志的例子:
日志配置

代码如下:

[loggers]
keys=root,simpleExample

[handlers]
keys=consoleHandler

[formatters]
keys=simpleFormatter

[logger_root]
level=DEBUG
handlers=consoleHandler

[logger_simpleExample]
level=DEBUG
handlers=consoleHandler
qualname=simpleExample
propagate=0

[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFormatter
args=(sys.stdout,)

[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=

对应关系:


image.png

各参数解读

[loggers]

logger提供了应用程序可以直接使用的接口,logger里面的每一个keys在下面还要写一个块,用来单独的配置;

[logger_name]

定义logger模块,必须包含一个名字叫做root的logger,root是父类,必需存在的,其它的是自定义。
level:日志级别
handler:处理后输出的位置
qualname:定义logger对象是需要绑定的日志策略名字
progarate:是否将日志传给上游(多级上游,顶级为root,以foo.A.B类似表示,foo就是A,B的顶级,A就是B的父级)

name的部分是在 image.png

部分中的keys的定义的

在应用程序中,使用无参函数logging.getLogger()时,默认返回root这个logger,其他自定义logger可以通过 logging.getLogger("name") 方式进行调用。

[handlers]

handler将(logger创建的)日志记录发送到合适的目的输出,handler里面的每一个keys也是要在下面还要写一个块,用来单独的配置;

[handler_name]

Handler处理器类型比较常用的有三个,StreamHandler,FileHandler,NullHandler
参考:Python 模块之Logging(四)——常用handlers的使用

[formatters]

formatter决定日志记录的最终输出格式,formatter里面的每一个keys在下面还要写一个块,用来单独的配置,可以有多个keys,配置多个格式。

[formatter_name]

格式 含义
%(name)s Logger的名字
%(levelno)s 数字形式的日志级别
%(levelname)s 文本形式的日志级别
%(pathname)s 调用日志输出函数的模块的完整路径名,可能没有
%(filename)s 调用日志输出函数的模块的文件名
%(module)s 调用日志输出函数的模块名
%(funcName)s 调用日志输出函数的函数名
%(lineno)d 调用日志输出函数的语句所在的代码行
%(created)f 当前时间,用UNIX标准的表示时间的浮 点数表示
%(relativeCreated)d 输出日志信息时的,自Logger创建以 来的毫秒数
%(asctime)s 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒
%(thread)d 线程ID。可能没有
%(threadName)s 线程名。可能没有
%(process)d 进程ID。可能没有
%(message)s 用户输出的消息

参考:
python logging模块使用教程
Python 日志模块logging详解
python之logging的文件配置
python logging文件配置示例

相关文章

网友评论

      本文标题:使用Python的logging.conf参数解读

      本文链接:https://www.haomeiwen.com/subject/xomiphtx.html