在运行时更改python日志级别

时间:2013-07-10 16:51:45

标签: python logging

在log4net中,我们可以在运行时将xml配置文件中的日志级别从DEBUG更改为ERROR,并且更改立即生效。

有没有办法在python中做到这一点?我还没想出怎么做。

另外,由于某种原因,当日志文件设置没有任何文件夹时(参见我在底部使用的配置示例 - yaml字典配置文件),它无法旋转文件。如果我将它改为其他路径,而不是代码所在的路径,它就像魅力一样,创建了20个文件。 我很乐意得到任何帮助。 谢谢!

字典配置提取示例:

  rotatingFile:
        class : logging.handlers.RotatingFileHandler
        formatter:  jajahFormater
        level: DEBUG
        filename: chs.log
        maxBytes: 20
        backupCount: 20

2 个答案:

答案 0 :(得分:1)

你真的应该发两个问题。

  1. .NET基础架构监视配置文件并自动加载它以获取更改,但Python不会 - 所以您需要自己编写代码。
  2. 代码目录中的chs.log文件可以保持打开状态(例如在编辑器中),这样可以防止翻转 - 如果没有更多信息,我无法分辨。

答案 1 :(得分:0)

来自记录器级docs使用Logger.setLevel()和处理程序级别Handler.setLevel()

import logging

my_logger = logging.getLogger('myloggername') #Assumes you have configured the logger somewhere
my_logger.setLevel(logging.INFO)