访问自定义回退附加程序中的请求参数

时间:2019-01-07 16:29:56

标签: spring logback

我有在项目中使用的自定义logback追加器。该项目基于REST控制器。 是否有可能在spring控制器中的记录器使用的logback附加程序中访问当前请求参数?我需要在request参数的基础上写一些东西来登录。 我可以看到,logback是在spring boot bean之前初始化的,这对我不利。

1 个答案:

答案 0 :(得分:0)

使用org.slf4j.MDC:您可以随时将值放入MDC。在其他之前。 示例:

@ResponseBody
@RequestMapping(value="/myRequest", method = RequestMethod.GET)
public String doAnyAction(@RequestParam(value="Key", required = true) long key) 
{
        MDC.put("key", key);
        logger.info(key);
}

并更改您的Logback.xml附加程序,以同时添加“密钥”:

<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> 
  <layout>
    <Pattern>%X{key}  - %m%n</Pattern>
  </layout> 
</appender>