python logging详解_使用Python的logging.conf参数解读

这是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

用户输出的消息

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值