【问题标题】:Unable to set log level in logbook so that it doesn't log other levels无法在日志中设置日志级别,使其不记录其他级别
【发布时间】:2017-08-17 12:57:08
【问题描述】:

我正在使用Logbook 进行日志记录。当我为例如WARNING 设置日志级别时,它还会记录ERRORlevel 日志。如何将日志记录级别设置为WARNING

from logbook import StreamHandler, ERROR, WARNING, CRITICAL, INFO, Logger
import sys

handler = StreamHandler(sys.stdout)
handler.push_application()
log = Logger('demo', WARNING)
log.info("Knock Knock")
# no output
log.error("Knock Knock")
# output : [2017-08-17 09:59:49.133053] ERROR: demo: Knock Knock
log.warning("Knock Knock")
# output : [2017-08-17 09:59:49.133053] WARNING: demo: Knock Knock

我不希望log.error 输出任何内容。我怎样才能做到这一点?

【问题讨论】:

    标签: python logging logbook


    【解决方案1】:

    Error 将被显示,因为它的优先级高于 Warning。当您将级别设置为Warning 时,这意味着它是Warning 或更高级别。 例如,当您将级别设置为Info 时,它将显示InfoWarningErrors

    【讨论】:

    • 如何设置为等于?
    • 这不是记录器的预期行为。更具体地说,对于您的问题,当您看到 StreamHandler logbook.StreamHandler(self, stream, level=0, format_string=None, encoding=None, filter=None, bubble=False) 的签名时,似乎无法选择仅选择其中一个级别(我可能弄错了)。
    猜你喜欢
    • 1970-01-01
    • 2016-11-27
    • 2023-03-23
    • 1970-01-01
    • 2011-07-26
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 1970-01-01
    相关资源
    最近更新 更多