如何获得一致的python日志记录格式?

如何获得一致的python日志记录格式?,python,logging,Python,Logging,我试图设置python日志记录格式,但它似乎忽略了我的配置设置。我不明白,这和伐木工人的等级制度有什么关系吗 我有点像 import logging logging.basicConfig(format='%(message)s') 但是所有的日志都有时间码等等 我在某个地方读到关于日志格式是如何继承的 我已经尝试过将它添加到许多不同的文件中,以防第一次遇到日志配置时会在整个会话中设置它 我能坚持这一点的唯一方法是在每个文件中创建一个自定义记录器,这对于以下文件来说很乏味: logger =

我试图设置python日志记录格式,但它似乎忽略了我的配置设置。我不明白,这和伐木工人的等级制度有什么关系吗

我有点像

import logging
logging.basicConfig(format='%(message)s')
但是所有的日志都有时间码等等

我在某个地方读到关于日志格式是如何继承的

我已经尝试过将它添加到许多不同的文件中,以防第一次遇到日志配置时会在整个会话中设置它

我能坚持这一点的唯一方法是在每个文件中创建一个自定义记录器,这对于以下文件来说很乏味:

logger = logging.getLogger('name')
# then configure and use logger.info() etc.

琐碎的事情,但这已经困扰了我很长时间!在混乱的远程shell上工作,我想摆脱所有的代码废话。

第一次日志配置调用将其设置为整个会话是正确的。这实际上是预期的行为。见:

basicConfig()
的调用应该在对
debug()
info()
等的任何调用之前进行。由于它是一个一次性的简单配置工具,只有第一次调用才真正起作用:后续调用实际上没有操作

因此,您应该找到第一个配置并在那里设置日志格式,删除所有后续配置

但是,如果这不可行,则有一个解决方案可用于强制重新配置测井系统:

logging.basicConfig(format='%(message)s', level=logging.INFO, force=True)

你在用django吗?请尝试查看“谢谢”,但“强制”似乎不起作用。真让人恼火。实际上,第一个文件的第一行是日志配置,然后是测试日志。