我正在开发一个dropwizard项目。在config.yml文件中,我使用MDC变量指定控制台appender的日志格式。 E.g
appenders:
- type: console
logFormat: "date=%d{yyyy-MM-dd HH:mm:ss} username=%mdc{userName} %t %logger{5} - %X{code} message=%msg %n"
threshold: ${CONSOLE_LOG_LEVEL:-INFO}
但是,MDC变量在日志中返回一个空值。 但我可以通过MDC.get(“userName”)在代码中的其他位置成功检索。
答案 0 :(得分:0)
我观察到,返回空值有两种可能性。
在您的情况下,首先在相应的代码文件中添加记录器
private static final Logger LOGGER = LoggerFactory.getLogger(YourClassName.class);
之后添加MDC.put(“key”,“your values”)
最后必须调用任何记录器方法,比如说下面添加语句
LOGGER.info("Some log Statemenet"); OR debug/error method>=.
从记录器配置文件中删除%mdc
并尝试使用%X{userName}
试试并告诉我。