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

JobRunr框架默认DEBUG日志级别无法修改问题求助

解决JobRunr默认DEBUG日志级别无法修改的问题

核心原因

JobRunr默认依赖SLF4J作为日志门面,若项目未明确配置日志实现(如Logback、Log4j2),它会自动绑定SLF4J Simple简单日志实现,而该实现的日志级别无法通过常规方式轻松调整,导致DEBUG日志持续输出。

解决方案

1. 配置项目日志实现(推荐方案)

根据你使用的日志框架,直接针对JobRunr的包设置日志级别:

  • Logback:在logback.xml中添加配置
<logger name="org.jobrunr" level="INFO" additivity="false">
    <appender-ref ref="你的日志输出Appender"/>
</logger>
  • Log4j2:在log4j2.xml中添加配置
<Logger name="org.jobrunr" level="INFO" additivity="false">
    <AppenderRef ref="你的日志输出Appender"/>
</Logger>

2. 通过JobRunr初始化代码指定日志级别

直接获取JobRunr的日志实例并修改级别,再绑定到初始化配置中:

import org.jobrunr.utils.logger.JobRunrLogger;
import org.slf4j.LoggerFactory;
import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.Logger;

// 获取JobRunr根日志实例
Logger jobRunrLogger = (Logger) LoggerFactory.getLogger("org.jobrunr");
jobRunrLogger.setLevel(Level.INFO);

// 初始化JobRunr时绑定自定义日志配置
JobRunr.configure()
        .useStorageProvider(new InMemoryStorageProvider())
        .useBackgroundJobServer()
        .useLogger(new JobRunrLogger(jobRunrLogger))
        .initialize();

3. 排除SLF4J Simple依赖

若项目依赖中自动引入了SLF4J Simple,手动排除它以强制使用你配置的日志实现:

  • Maven:在依赖中添加排除规则
<dependency>
    <groupId>org.jobrunr</groupId>
    <artifactId>jobrunr</artifactId>
    <version>你的JobRunr版本号</version>
    <exclusions>
        <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
        </exclusion>
    </exclusions>
</dependency>
  • Gradle:在依赖中添加排除规则
implementation('org.jobrunr:jobrunr:你的JobRunr版本号') {
    exclude group: 'org.slf4j', module: 'slf4j-simple'
}

验证方式

修改配置后重启应用,若仅输出INFO及以上级别的JobRunr日志,说明配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 09:35:04