小编典典

如何在 Python 中记录源文件名和行号

all

是否可以装饰/扩展python标准日志记录系统,以便在调用日志记录方法时它还会记录文件和调用它的行号或者调用它的方法?


阅读 125

收藏
2022-08-01

共1个答案

小编典典

当然,请检查日志记录文档中的格式化程序。特别是 lineno 和 pathname 变量。

%(pathname)s 发出日志调用的源文件的完整路径名(如果可用)。

%(filename)s 路径名的文件名部分。

%(module)s 模块(文件名的名称部分)。

%(funcName)s 包含日志调用的函数名称。

%(lineno)d 发出记录调用的源行号(如果可用)。

看起来像这样:

formatter = logging.Formatter('[%(asctime)s] p%(process)s {%(pathname)s:%(lineno)d} %(levelname)s - %(message)s','%m-%d %H:%M:%S')
2022-08-01