gpt4 book ai didi

Python logging.FileHandler 将消息打印到标准输出中

转载 作者:行者123 更新时间:2023-12-04 10:18:34 27 4
gpt4 key购买 nike

我正在使用 Python 日志记录包,我需要记录两种类型的消息:

  • 仅应登录到标准输出的消息
  • 应该只记录到文件中的消息。

  • 但是我无法实现它。这是我的代码:
    import logging                                                     

    logger = logging.getLogger("file_logger")
    fh = logging.FileHandler("tmp.log")
    logger.addHandler(fh)

    logging.warning("Message for std output")
    logging.getLogger("file_logger").warning("Message for file logger")

    当我运行此脚本时,将在终端中打印以下消息:
    WARNING:root:Message for std output
    WARNING:file_logger:Message for file logger

    如何修复此行为,以便“文件记录器的消息”只会打印到文件中?

    最佳答案

    您可以通过关闭传播来解决这个问题:

    logger.propagate = False

    如果没有此设置,日志调用将沿日志层次结构向上传播到根记录器。
    根记录器默认打印到标准输出,如您在示例中所示。

    关于Python logging.FileHandler 将消息打印到标准输出中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60966418/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com