如何解决logging.BasicConfig() 似乎不遵循文档
我认为下面的代码应该打印所有消息,但它只有在我调用 BasicConfig 时才有效:
import logging
logger = logging.getLogger("log")
# logging.basicConfig(level=logging.DEBUG) SHOULD NOT BE NEEDED,YET IT IS.
handler = logging.StreamHandler()
handler.setLevel(logging.INFO)
formatter = logging.Formatter("%(levelname)s: %(filename)s(%(lineno)d)[%(name)s]: %(message)s")
handler.setFormatter(formatter)
logger.addHandler(handler)
print("This print test printed")
print(f"Enabled: {logger.isEnabledFor(logging.INFO)}")
logger.propagate = False
logger.debug("This debug printed")
logger.info("This info printed")
logger.warning("This warning printed")
logger.error("This error printed")
logger.critical("This critical printed")
我知道 basicConfig 控制根记录器,但我没有使用根记录器。我仍然得到这个输出:
This print test printed
Enabled: False
WARNING: scratch.py(15)[log]: This warning printed
ERROR: scratch.py(16)[log]: This error printed
CRITICAL: scratch.py(17)[log]: This critical printed
上面的代码不应该避开根记录器,让我的记录器在我希望它工作的任何级别上工作吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。