logging 模块格式化参数及示例

格式化参数说明

属性名称格式描述
asctime%(asctime)s表示易读的LogRecord生成时间。 默认形式为 ‘2003-07-08 16:49:45,896’ (逗号之后的数字为时间的毫秒部分)。
filename%(filename)spathname 的文件名部分。
funcName%(funcName)s函数名包括调用日志记录。
levelname%(levelname)s消息文本记录级别(‘DEBUG’,‘INFO’,‘WARNING’,‘ERROR’,‘CRITICAL’)。
levelno%(levelno)s消息数字的记录级别 (DEBUG, INFO, WARNING, ERROR, CRITICAL)。
lineno%(lineno)d发出日志记录调用所在的源行号(如果可用)。
message%(message)s记入日志的消息,即 msg % args 的结果。 这是在发起调用 Formatter.format() 时设置的。
module%(module)s模块 (filename 的名称部分)。
msecs%(msecs)dLogRecord 被创建的时间的毫秒部分。
name%(name)s用于记录调用的日志记录器名称。
pathname%(pathname)s发出日志记录调用的源文件的完整路径名(如果可用)。
process%(process)d进程ID(如果可用)
processName%(processName)s进程名(如果可用)
relativeCreated%(relativeCreated)d以毫秒数表示的 LogRecord 被创建的时间,即相对于 logging 模块被加载时间的差值。
thread%(thread)d线程ID(如果可用)
threadName%(threadName)s线程名(如果可用)
args此属性不需要用户进行格式化。合并到 msg 以产生 message 的包含参数的元组,或是其中的值将被用于合并的字典(当只有一个参数且其类型为字典时)。
exc_info此属性不需要用户进行格式化。异常元组(例如 sys.exc_info)或者如未发生异常则为 None。
msg此属性不需要用户进行格式化。在原始日志记录调用中传入的格式字符串。 与 args 合并以产生 message,或是一个任意对象 (参见 使用任意对象作为消息)。
stack_info此属性不需要用户进行格式化。当前线程中从堆栈底部起向上直到包括日志记录调用并引发创建当前记录堆栈帧创建的堆栈帧信息(如果可用)。

使用示例

def __register_file_log():
    handler = logging.FileHandler(get_log_path(), "a", 'utf-8')
    formatter = logging.Formatter(
        fmt="%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s",
        datefmt="%Y-%m-%d %H:%M:%S"
    )
    handler.setFormatter(formatter)
    handler.setLevel(logging.DEBUG)
    logger.addHandler(handler)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值