You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java连接MongoDB设置SEVERE日志级别仍出现INFO日志求解决

解决MongoDB Java驱动仍输出INFO日志的问题

我来帮你搞定这个日志问题~你遇到的情况是因为你只配置了org.mongodb.driver包的日志级别,但那条烦人的INFO日志其实来自com.mongodb.diagnostics.logging这个不同的包,所以原来的配置没生效到它身上。

这里有几个可行的解决办法:

  • 方法1:直接针对性配置诊断日志包
    在你的现有代码基础上,再添加一行针对诊断日志的配置:

    Logger diagnosticsLogger = Logger.getLogger("com.mongodb.diagnostics.logging");
    diagnosticsLogger.setLevel(Level.SEVERE);
    

    这样就能覆盖到那条Cluster创建的INFO日志了。

  • 方法2:统一配置所有MongoDB相关包
    如果你想彻底屏蔽MongoDB驱动的所有非严重日志,可以直接配置两个顶级相关包的日志级别:

    // 处理org.mongodb开头的包日志
    Logger mongoOrgLogger = Logger.getLogger("org.mongodb");
    mongoOrgLogger.setLevel(Level.SEVERE);
    // 处理com.mongodb开头的包日志
    Logger mongoComLogger = Logger.getLogger("com.mongodb");
    mongoComLogger.setLevel(Level.SEVERE);
    
  • 方法3:使用logging.properties文件配置(推荐)
    如果你的项目使用Java Util Logging(JUL)的配置文件,直接在logging.properties里添加以下配置会更灵活,不需要硬编码:

    org.mongodb.driver.level = SEVERE
    com.mongodb.diagnostics.logging.level = SEVERE
    

简单来说,MongoDB Java驱动的日志分散在org.mongodb和com.mongodb两个根包下,只配置其中一个会漏掉部分日志输出,所以需要把相关的包都覆盖到级别设置。

内容的提问来源于stack exchange,提问作者Vina L

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:22:32