Spring Batch MDC Logging

Я хочу знать, как регистрировать такие вещи, как Job Name и Execution ID, используя MCD в Spring Batch.

Вот код:

bootstrap.properties

в этом файле есть список элементов, которые я сейчас регистрирую, и я добавил сюда execId в качестве третьего элемента.

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

Приложение MCC

в этом файле есть мой основной метод. Когда я вручную устанавливаю здесь поле с помощью 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
0
1 256
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Отказ от ответственности: Я не знаком с Spring-Batch

MDC будет работать для вас, чтобы регистрировать имя задания и идентификатор выполнения вместе с операторами журнала, потому что MDC имеет сходство потоков. Поэтому, если вы поместите что-то в MDC, находясь в потоке, это будет доступно вам (и для входа в систему) на протяжении всего жизненного цикла этого потока. Поэтому, если вы поместите MDC.put("execId", "12345"); в свой основной метод, он будет доступен только в основном потоке.

Имя задания и идентификатор выполнения имеют смысл только в любом дочернем потоке, который может порождать пакет Spring (здесь я использую дикие предположения, поскольку я не знаком с пакетом Spring). Поэтому добавьте MDC.put("execId", "12345"); в начальную точку вашего фактического задания, а не в метод main ().

Спасибо за ваш ответ и совет, я попробую ваши предложения и опубликую здесь свои результаты

Josh 24.08.2018 23:25

немного интересного читайте здесь: shengwangi.blogspot.com/2015/09/…

so-random-dude 27.08.2018 04:18

Спасибо за ссылку и вклад. У меня гораздо более четкое представление о том, что мне теперь делать.

Josh 27.08.2018 23:07

@Josh рад помочь

so-random-dude 27.08.2018 23:21

Другие вопросы по теме