通过编程方式使用下面的java代码创建appender,我需要在partternLayout中添加MDC
使用log4j2.xml在java中以编程方式创建追加器 需要添加模式布局为Log4j2的MDC键变量, 任何人都可以查看下面的代码并告诉如何添加mdc变量,该变量的值将在调用looger.info之前被替换通过编程方式使用下面的java代码创建appender,我需要在partternLayout中添加MDC,java,log4j2,mdc,Java,Log4j2,Mdc,使用log4j2.xml在java中以编程方式创建追加器 需要添加模式布局为Log4j2的MDC键变量, 任何人都可以查看下面的代码并告诉如何添加mdc变量,该变量的值将在调用looger.info之前被替换 PatternLayout layout = PatternLayout.newBuilder().withConfiguration(config) .withPattern("%d{HH:mm:ss.SSS} %level %msg%n").build();
PatternLayout layout = PatternLayout.newBuilder().withConfiguration(config)
.withPattern("%d{HH:mm:ss.SSS} %level %msg%n").build();
final Appender appender = FileAppender.createAppender("target/test.log", "false", "false", "File", "true",
"false", "false", "4000", layout, null, "false", null, config);
appender.start();
addAppender(appender);
LoggerConfig loggerConfig = LoggerConfig.createLogger("false", "info", "org.apache.logging.log4j",
"true", refs, null, config, null );
loggerConfig.addAppender(appender, null, null);
addLogger("com", loggerConfig);
现在我需要的是,每当我的日志语句被打印时,它们也会打印一些值,告诉它们的状态
如何在创建上述图案布局时添加MDC键
当前的行为==>logger.info(“我们到了”);
正在打印“我们到了”
我的期望是=>语句应该与MDC键一起提供。您的模式应该包含类似于
%X{someKey}
的内容
然后在代码中设置值,例如:
MDC.put("someKey", someValue);
您的模式应该包含类似于
%X{someKey}
的内容
然后在代码中设置值,例如:
MDC.put("someKey", someValue);
我尝试使用下面的模式布局patternayout=patternayout.newBuilder().withConfiguration(config).withPattern(“%d{HH:mm:ss.SSS}%5{mdckey}%level%msg%n”).build();但它并没有打印它..它应该是
%X
,而不是%5
.PatternLayout.newBuilder().withConfiguration(config).withPattern(“%d{HH:mm:ss.SSS.SSS}%5x{mdckey}%level%msg%n”).build()也完全是%X{mdckey}
。我试着用下面的pattern布局PatternLayout=PatternLayout.newBuilder().withConfiguration(配置).withPattern(“%d{HH:mm:ss.SSS}%5{mdckey}%level%msg%n”).build();但它没有打印它。它应该是%X
,而不是%5
.PatternLayout.newBuilder()。withConfiguration(配置)。withPattern(“%d{HH:mm:ss.SSS}%5x{mdckey}%level%msg%n”).build()也应该是%X{mdckey}/code>。