当我调用 logging.config.fileConfig 时,记录系统多次失败
Logging system fails multiple times when I call logging.config.fileConfig
在 Python 3.7.3 中,如果您多次调用 logging.config.fileConfig,日志系统将自动失败。
是什么原因导致这种情况发生?
import logging.config
logging.config.fileConfig('logging.conf')
logger = logging.getLogger(__name__)
logger.error("I print")
logging.config.fileConfig('logging.conf')
logger.error("I do not")
解决方法是将对 logging.config.fileConfig
的每次调用包装在 if __name__ == '__main__':
中
有没有更好的方法?
您需要通过这样调用来确保任何现有的记录器不会被禁用:
logging.config.fileConfig('logging.conf', disable_existing_loggers=False)
这已记录在案 here。
在 Python 3.7.3 中,如果您多次调用 logging.config.fileConfig,日志系统将自动失败。
是什么原因导致这种情况发生?
import logging.config
logging.config.fileConfig('logging.conf')
logger = logging.getLogger(__name__)
logger.error("I print")
logging.config.fileConfig('logging.conf')
logger.error("I do not")
解决方法是将对 logging.config.fileConfig
的每次调用包装在 if __name__ == '__main__':
中
有没有更好的方法?
您需要通过这样调用来确保任何现有的记录器不会被禁用:
logging.config.fileConfig('logging.conf', disable_existing_loggers=False)
这已记录在案 here。