使用log4j2.xml在Java中以编程方式创建附加器 需要使用Log4j2的PatternLayout添加MDC密钥变量, 任何人都可以查看下面的代码,并告诉如何添加mdc变量,该变量的值将在looger.info调用之前被替换
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密钥。
答案 0 :(得分:0)
您的模式应包含%X{someKey}
之类的内容。
然后在代码中,您将设置值,例如:
MDC.put("someKey", someValue);