当前位置: 首页 > 知识库问答 >
问题:

Spring批处理MDC日志记录

辛承志
2023-03-14

我想知道如何在Spring批处理中使用MCD记录诸如作业名执行ID之类的内容。

下面是一些代码

Bootstrap.properties

logging.pattern.level=%5p [%X{X-B3-TraceId:-},%X{sessionId:-},%X{execId:-},%X{program:-},%X{mainframeId:-}]
spring.application.name=mcc
spring.profiles.active=globals,local,local-override

这个文件有我的主要方法。当我用mdc.put(“execid”,“12345”);手动设置这里的字段时,我在日志中看到了它,但我不明白如何将我需要的实际信息放在这里。

@SpringBootApplication(exclude = {SecurityAutoConfiguration.class, ManagementWebSecurityAutoConfiguration.class})
public class MccApplication {

    public static void main(String[] args) {
        MDC.put("execId", "12345");
        SpringApplication.run(MccApplication.class, args);
    }

}

如果有任何见解,我将不胜感激:)谢谢。

共有1个答案

上官高翰
2023-03-14

免责声明:我不熟悉spring-batch

MDC将用于记录作业名称和执行ID以及日志语句,因为MDC具有线程关联。因此,如果您在线程中向MDC放了一些东西,那么在该线程的整个生命周期中,您都可以使用这些东西(并可以进行日志记录)。因此,如果您将mdc.put(“execid”,“12345”);放在主方法中,那么它将仅在主线程中可用。

作业名和执行ID仅在spring批处理可能产生的任何子线程中才有意义(我在这里是基于疯狂的假设运行的,因为我不熟悉spring批处理)。因此,将mdc.put(“execid”,“12345”);添加到实际作业的起始点,而不是main()方法中。

 类似资料:
  • 我无法在使用JPA的Spring启动应用程序中记录Spring批处理日志。这是属性文件配置(application.properties)。我想看看应用程序是否从日志中创建了Spring批处理表。 https://github.com/spring-projects/spring-batch/blob/master/spring-batch-core/src/main/resources/org/

  • 我已经将spring batch admin与现有的spring web应用程序集成。我可以使用batch admin屏幕触发/控制作业,并使用Tomcat8进行部署。一切正常,但Spring管理批处理日志在控制台中触发,导致catalina。填写GB。日志样本如下: 我的log4j配置如下: 但我不断地得到日志。你能建议如何禁用/增加日志级别吗?提前谢谢。

  • 主要内容:输出通过使用重定向命令可以在批处理脚本中进行登录。 语法 创建一个名为的文件,并在文件中输入以下命令。 上面的命令有一个错误,因为命令的选项是以错误的方式给出的。 输出 如果带有上面的文件的命令运行为 - 而打开文件,会看到下面的错误。 这个命令的语法是 - 通过键入获取更多的帮助内容。 如果打开名为的文件,它会显示一个执行命令的日志。

  • 我正在使用spring批处理使用RepositoryItemReader从postgresql DB读取记录,然后将其写入主题。我看到大约有100万条记录需要处理,但它并没有处理所有的记录。我已经将reader的pageSize设置为10,000并且与提交间隔(块大小)相同

  • 我使用的是spring批处理,和通常使用的一样,我有读取器、处理器和写入器。 我有两个问题 1>Reader查询所有200条记录(表中记录总大小为200,我给出了pageSize=200),因此它得到所有200条记录,在处理器中,我们需要所有这些记录的列表,因为我们必须将每个记录与其他199条记录进行比较,以便将它们分组在不同的层中。因此我在想,如果我们能在处理步骤中得到那个列表,我就可以操纵它们

  • 日志记录和写入由\think\Log类完成,通常我们使用think\facade\Log类进行静态调用。 由于日志记录了所有的运行错误,因此养成经常查看日志文件的习惯,可以避免和及早发现很多的错误隐患。 5.1的日志遵循PSR-3规范 [TOC=2,3] 日志配置 日志的配置文件是配置文件目录下的log.php文件,如果需要针对不同的模块设置不同的日志类型,则需要在模块配置目录下的log.php中