Python开发之日志记录模块:logging(3)

指定日志输出目标stream,如sys.stdout、sys.stderr以及网络stream。需要说明的是,stream和filename不能同时提供,否则会引发 ValueError异常

 

style

 

Python 3.2中新添加的配置项。指定format格式字符串的风格,可取值为'%'、'{'和'$',默认为'%'

 

handlers

 

Python 3.3中新添加的配置项。该选项如果被指定,它应该是一个创建了多个Handler的可迭代对象,这些handler将会被添加到root logger。需要说明的是:filename、stream和handlers这三个配置项只能有一个存在,不能同时出现2个或3个,否则会引发ValueError异常。

 

上表中的参数format可以通过logging模块中定义好模式来设定值:

字段/属性名称

 

使用格式

 

描述

 

asctime

 

%(asctime)s

 

将日志的时间构造成可读的形式,默认情况下是‘2019-03-28 00:00:00,000’的形式,精确到毫秒

 

name

 

%(name)s

 

所使用的日志器名称,默认是'root',因为默认使用的是 rootLogger

 

filename

 

%(filename)s

 

调用日志输出函数的模块的文件名; pathname的文件名部分,包含文件后缀

 

funcName

 

%(funcName)s

 

由哪个function发出的log, 调用日志输出函数的函数名

 

levelname

 

%(levelname)s

 

日志的最终等级(被filter修改后的)

 

message

 

%(message)s

 

日志信息, 日志记录的文本内容

 

lineno

 

%(lineno)d

 

当前日志的行号, 调用日志输出函数的语句所在的代码行

 

levelno

 

%(levelno)s

 

该日志记录的数字形式的日志级别(10, 20, 30, 40, 50)

 

pathname

 

%(pathname)s

 

完整路径 ,调用日志输出函数的模块的完整路径名,可能没有

 

process

 

%(process)s

 

当前进程, 进程ID。可能没有

 

processName

 

%(processName)s

 

进程名称,Python 3.1新增

 

thread

 

%(thread)s

 

当前线程, 线程ID。可能没有

 

threadName

 

%(thread)s

 

线程名称

 

module

 

%(module)s

 

调用日志输出函数的模块名, filename的名称部分,不包含后缀即不包含文件后缀的文件名

 

created

 

%(created)f

 

当前时间,用UNIX标准的表示时间的浮点数表示; 日志事件发生的时间--时间戳,就是当时调用time.time()函数返回的值

 

relativeCreated

 

%(relativeCreated)d

 

输出日志信息时的,自Logger创建以 来的毫秒数; 日志事件发生的时间相对于logging模块加载时间的相对毫秒数

 

msecs

 

%(msecs)d

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/d642fc980407ebf79378f34feecfa099.html