编程语言
首页 > 编程语言> > 如何使用python日志记录setLoggerClass?

如何使用python日志记录setLoggerClass?

作者:互联网

我想将一个自定义记录器添加到我正在处理的python应用程序中.我认为日志记录模块打算支持这种自定义,但我真的不知道它如何与使用日志记录模块的典型方式一起工作.通常,您将在模块中创建一个logger对象,

import logging
logger = logging.getLogger(__name__)

但是,在应用程序的某个地方,可能是入口点,我将告诉日志记录模块使用我的记录器类,

logging.setLoggerClass(MyLogger)

但是,在导入模块并且已经分配了记录器对象之后,通常会调用此方法.我可以想办法解决这个问题(使用管理器类注册记录器分配或为每个日志记录调用getLogger() – yuk),但这感觉不对,我想知道什么是正确的这样做的方法是.

解决方法:

应在应用程序代码运行之前完成任何日志记录初始化/设置/自定义.您可以将它放在主应用程序目录的__init__.py文件中(这意味着它将在导入/读取任何模块之前运行).

您也可以将它放在settings.py模块中,并将该模块作为应用程序中的第一件事进行导入.只要日志设置代码在任何getLogger调用之前运行,那么你就是好的.

标签:python,customization,logging
来源: https://codeday.me/bug/20190703/1361738.html