python日志:是否可以将模块名称添加到格式化程序

Ale*_*lin 4 python

可以按模块名称获取记录器.像这样:

logging.getLogger(module_name)
Run Code Online (Sandbox Code Playgroud)

我想添加module_name到每个日志记录.是否可以设置Formatter添加的对象module_name

Mar*_*ers 6

你正在寻找%(name)s参数; 将其添加到您的格式化程序模式:

FORMAT = "%(name)s: %(message)s"
logging.basicConfig(format=FORMAT)
Run Code Online (Sandbox Code Playgroud)

或者在创建时Formatter():

FORMAT = "%(name)s: %(message)s"
formatter = logging.Formatter(fmt=FORMAT)
Run Code Online (Sandbox Code Playgroud)

请参阅LogRecord属性参考:

属性名称:name
格式:%(name)s
说明:用于记录呼叫的记录器的名称.