【问题标题】:Log messages appearing twice - with and without formatting in Python Flask app日志消息出现两次 - 在 Python Flask 应用程序中使用和不使用格式化
【发布时间】:2022-11-04 18:18:22
【问题描述】:

我像这样设置日志记录模块:

def setup_logging(app):
    """
    Set up logging so as to include RequestId and relevant logging info
    """
    RequestID(app)
    handler = logging.StreamHandler()
    handler.setStream(sys.stdout)
    handler.propagate=False

    handler.setFormatter(
        logging.Formatter("[MHPM][%(module)s][%(funcName)s] %(levelname)s : %(request_id)s - %(message)s")
    )

    handler.addFilter(RequestIDLogFilter())  # << Add request id contextual filter
    logging.getLogger().addHandler(handler)
    logging.getLogger().setLevel(level="DEBUG")

我这样使用它:

# in init.py
setup_logging(app)
# in MHPMService.py
logger = logging.getLogger(__name__)

但这是我在控制台上看到的:

DEBUG:src.service.MHPMService:MHPMService.__init__(): initialized
[MHPM][MHPMService][__init__] DEBUG : 5106ec8e-9ffa-423d-9401-c34a92dcfa23 - MHPMService.__init__(): initialized

我只想要我的应用程序中的第二种类型的日志,我该怎么做?

【问题讨论】:

    标签: python flask logging


    【解决方案1】:

    我重置了处理程序并得到了预期的行为:

    logger.handlers=[]
    

    【讨论】:

      【解决方案2】:

      交换当前处理程序

      logging.getLogger().handlers[0] = handler
      

      而不是这样做

      logging.getLogger().addHandler(handler)
      

      【讨论】:

        猜你喜欢
        • 2011-10-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多