【发布时间】:2019-12-11 07:26:37
【问题描述】:
我开发了一个包含多个作业的 Spring Batch 项目。
我的目的是将这些作业的日志写入单独的文件中。例如,当 Job#1 启动时,所有事件都记录到 job_1.log,当 Job#2 启动时,其事件是登录到 job_2.log 等等。
在我的工作配置中,我使用过:
private static final Logger logger = LoggerFactory.getLogger(Job1.class);
我还尝试按照link 的指示配置 logback.xml。
但是,我不知道如何将MDC放入Spring Batch(MDC .put("logFileName", "Job1");
在使用 Spring Batch 时有没有更好的方法来解决我的问题?
【问题讨论】:
-
您是否将所有作业打包在同一个 jar 中?你如何运行每项工作?
-
我所有的工作都在同一个罐子里。我使用 JobLauncher 通过添加特定的作业和作业参数来运行它们。 Sabir Khan 的解决方案可能有效,但我认为这不是最好的,因为如果我有 10 个工作,我的 logback 中必须有 10 个记录器和 10 个附加程序。有没有动态的解决方案? @Mahmoud Ben Hassine
标签: spring-batch spring-logback