【发布时间】:2016-04-17 13:11:34
【问题描述】:
我刚刚开始研究 Spring Boot 应用程序。 我想将唯一的 UUID 附加到每个 API 请求并将其附加到日志中。
我写过 公共类 RequestContextListener 实现 ServletRequestListener {
private Logger logger = LoggerFactory.getLogger(getClass());
@Override
public void requestInitialized(ServletRequestEvent arg0) {
logger.debug("++++++++++++ REQUEST INITIALIZED +++++++++++++++++");
MDC.put("UUID", UUID.randomUUID());
}
@Override
public void requestDestroyed(ServletRequestEvent arg0) {
logger.debug("-------------REQUEST DESTROYED ------------");
MDC.clear();
}
以下是我的 logback-spring.xml 文件更改
<property name="CONSOLE_LOG_PATTERN" value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%rEx} [%X{UUID}]"/>
但这对我不起作用。 我是否必须提及需要执行的任何地方? 请帮忙,我已经为此浪费了一天。
【问题讨论】:
-
我在课堂上缺少@Component 注释。