在except块外记录时,记录模块名的方式有哪些?

When logging outside the except block, what are the ways to log the module name?

假设日志记录是在 except 块中完成的,那么我们可以使用 logging.exception("some message"),这会将消息与模块名称一起记录为堆栈跟踪的一部分。

但是,当日志记录在 except 块之外完成时 ,例如使用 logging.info,那么记录模块名称的一种方法是使用 __name__.示例:logging.info(f"some message here, in module: {__name__})

有没有其他方法可以记录模块名称?

您可以使用日志格式化程序属性:%(pathname)s

现在对日志记录的任何调用都将包含模块名称和日志消息。

https://docs.python.org/3/library/logging.html#logrecord-attributes