MD C для записи всего сообщения Dynami c, независимо от отсутствия записей в MDC - PullRequest
0 голосов
/ 06 января 2020

Я хочу использовать MD C для входа в систему, для чего я делаю

 MDC.put("ReportName", "IOR_Report");
 MDC.put("ReportJNDI", JNDI_NAME.getValue());
 log.info("Report logger working");

И добавил ниже запись в log4j.properties, и она правильно печатает ReportName = "My ReportName" JNDI = MYJNDI

log4j.appender.REPORTSLOG = org.apache.log4j.RollingFileAppender
log4j.appender.REPORTSLOG.layout = org.apache.log4j.PatternLayout
log4j.appender.REPORTSLOG.File = ../logs/ReportLog.log
log4j.appender.REPORTSLOG.Threshold=INFO
log4j.appender.REPORTSLOG.layout.ConversionPattern=%m - ReportName=%X{ReportName} JNDI=%X{ReportJNDI}%n

Но я хочу динамически добавить эти параметры в MD C, и поэтому не хочу жестко кодировать, как показано ниже

ReportName=%X{ReportName} JNDI=%X{ReportJNDI}%n

В нем должны отображаться все параметры MD C которые добавлены в MD C, что-то вроде ниже, я ожидаю, но это не работает, что мне здесь не хватает?

 log4j.appender.REPORTSLOG.layout.ConversionPattern=%m - %X - %n
...