【问题标题】: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')