【发布时间】:2020-02-28 22:59:49
【问题描述】:
考虑:
import logging
In [6]: def foo():
...: logging.basicConfig(level=logging.WARNING)
...: logging.warning("logging message 1")
...: logging.shutdown()
...: def bar():
...: logging.basicConfig(level=logging.WARNING, format="%(asctime)-15s %(
...: levelname)-8s %(message)s")
...: logging.warning("logging message 2")
...:
In [7]: foo()
WARNING:root:logging message 1
In [8]: bar()
WARNING:root:logging message 2
但我希望看到:
In [7]: foo()
WARNING:root:logging message 1
In [8]: bar()
2020-02-29 01:42:54,995 WARNING logging message 2
我的观点是,在第二个函数中,我希望有新格式的新日志对象,但它是第一个具有其格式的函数日志对象。
【问题讨论】:
-
我不确定你能做到这一点。尝试将
force=True添加到basicConfig但shutdown特别警告这应该在应用程序退出时调用,并且在此调用之后不应进一步使用日志系统。 -
关于
shutdown:“通知日志系统通过刷新和关闭所有处理程序来执行有序关闭。这应该在应用程序退出时调用并且不应进一步使用日志系统在这次通话之后进行的。"
标签: python python-3.x logging