当我调用 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