Python:如何仅在发生错误时记录调试+消息,否则为info +

时间:2017-05-14 15:27:25

标签: python logging

我的目标:

  • 如果方法中未发生错误,请仅记录级别INFO的消息 更高。
  • 如果出现错误消息,请记录级别DEBUG和的所有消息 错误也在错误之前。

我找到了logging.handlers.MemoryHandler类: https://docs.python.org/2/library/logging.handlers.html#memoryhandler

这部分符合我的目的。每当出现错误级别消息时,它都会缓冲所有消息并刷新它们。但是如果没有错误消息,它就不会记录任何内容。

如果没有错误,我希望我的应用仍然可以记录INFO和警告。

实施该方法的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

我看到它的方式你可以通过配置两个记录器来实现类似的东西。

  1. INFO-Logger仅记录INFO级别记录
  2. DETAIL-Logger登录DEBUG模式
  3. 作为示例,请参阅documentation

    您可以决定如何记录它们,相同的文件(可能)或单独的文件(my-simple.log和my-detailed.log)