【问题标题】:How to set logging level for the module only in Python?如何仅在 Python 中为模块设置日志记录级别?
【发布时间】:2018-02-14 12:42:38
【问题描述】:

我正在使用logging.info 输出有关我的脚本正在做什么的信息,我正在使用logging.basicConfig(level=logging.INFO) 来启用它。这(logging.basicConfig(level=logging.INFO))也会影响我调用的其他模块(例如 SQLAlchemy),导致输出比我想要的要详细得多。我可以为我的实际脚本设置日志级别为 INFO,但不能为它使用的第 3 方模块设置日志级别(我希望它对他们来说是 WARNING)?

【问题讨论】:

    标签: python python-3.x logging


    【解决方案1】:

    执行此操作的正常方法是为当前模块定义一个记录器 - 通常基于文件名 - 在模块的开头,并在整个过程中引用它。

    import logging
    
    logger = logging.getLogger(__name__)
    logger.setLevel(logging.INFO)
    
    def function_that_logs():
        logger.info('will log')   # note, using logger not logging
        logger.debug('will not log')
    

    【讨论】:

      猜你喜欢
      • 2023-03-24
      • 2020-04-16
      • 2015-01-13
      • 1970-01-01
      • 2016-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-26
      相关资源
      最近更新 更多