如何为Loguru设置最小日志级别?开发生产环境配置
解决Loguru不同环境设置不同日志级别的问题
你可能没注意到:Loguru默认已经自动添加了一个输出到控制台的处理器,所以完全可以通过「移除默认处理器→重新添加指定级别处理器」的方式实现需求,具体操作如下:
- 第一步:调用
log.remove()移除所有现有处理器(包括默认的那个,无参数时会清空所有处理器) - 第二步:根据当前运行环境(比如通过环境变量、配置文件判断),调用
log.add()设置对应级别的日志输出
示例代码
from loguru import logger as log import os import sys # 移除默认的控制台输出处理器 log.remove() # 根据环境变量区分开发/生产环境 current_env = os.getenv("APP_ENV", "development") if current_env == "production": # 生产环境仅输出 ERROR 及更高级别的日志 log.add(sys.stdout, level="ERROR") else: # 开发环境输出 DEBUG 及更高级别的所有日志 log.add(sys.stdout, level="DEBUG") # 测试日志输出 log.debug("这条日志只有开发环境能看到") log.error("这条日志生产和开发环境都会显示")
补充说明
如果不想一次性移除所有处理器,也可以先获取默认处理器的ID再单独移除,但默认场景下只有这一个处理器,直接用log.remove()是最简洁的方案。
内容的提问来源于stack exchange,提问作者WoJ
相关产品推荐
相关产品推荐

