python - 如何仅在Python中设置模块的日志记录级别?

标签 python python-3.x logging

我正在使用 logging.info 输出有关我的脚本正在执行的操作的信息,并且我正在使用 logging.basicConfig(level=logging.INFO) 来启用此功能。而且这个(logging.basicConfig(level=logging.INFO))也会影响我调用的其他模块(例如 SQLAlchemy),导致输出比我想要的更详细。我可以将实际脚本的日志记录级别设置为“信息”,但不能将其使用的第 3 方模块的日志记录级别设置为“信息”(我希望将其设置为“警告”)吗?

最佳答案

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

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')

关于python - 如何仅在Python中设置模块的日志记录级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48787538/

相关文章:

python - 如何从函数中动态删除装饰器?

python - Python 中的约束回归

javascript - 使用 Scrapy 抓取无限滚动的网站

python - 生成倒排索引

ios - 将文本字段导出集合添加在一起

Python:Dumbo 导入错误

python - string.format() 在我的脚本中停止正常工作

python - Python 上的 24 小时制转换为 12 小时制 (ProblemSetQuestion)

python - 为什么 print() 和 logger 对象以意外的顺序流式传输到控制台输出?

entity-framework - 如何详细记录我的实体错误