无法在日志中设置日志级别,因此它不会记录其他级别

Unable to set log level in logbook so that it doesn't log other levels

我正在使用 Logbook 进行日志记录。当我为日志设置级别时,例如 WARNING 它也会记录 ERROR 级别的日志。我怎样才能将日志记录级别设置为 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输出任何东西。我怎样才能做到这一点?

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