使用登录多个模块

使用登录多个模块,第1张

使用登录多个模块

最佳实践是在每个模块中都定义一个记录器,如下所示:

import logginglogger = logging.getLogger(__name__)

在模块顶部附近,然后在模块中的其他代码中执行例如

logger.debug('My message with %s', 'variable data')

如果您需要在模块内部细分日志记录活动,请使用例如

loggerA = logging.getLogger(__name__ + '.A')loggerB = logging.getLogger(__name__ + '.B')

和日志记录

loggerA
,并
loggerB
适当。

在您的一个或多个主程序中,执行例如:

def main():    "your program pre"if __name__ == '__main__':    import logging.config    logging.config.fileConfig('/path/to/logging.conf')    main()

要么

def main():    import logging.config    logging.config.fileConfig('/path/to/logging.conf')    # your program preif __name__ == '__main__':    main()

见这里用于从多个模块记录,并在这里用于代码日志配置将被用作其它的代码库模块。

更新: 调用时

fileConfig()
,您可能想要指定
disable_existing_loggers=False
是否使用Python
2.6或更高版本(有关更多信息,请参阅文档)。缺省值是
True
为了向后兼容,
fileConfig()
除非所有现有记录器或其祖先在配置中被明确命名,否则它将被禁用。将该值设置为
False
,将保留现有记录器。如果使用的是Python
2.7 / Python
3.2或更高版本,则不妨考虑使用
dictConfig()
API,
fileConfig()
因为它提供了对配置的更多控制,因此比它更好。




欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5632456.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存