我们如何在使用logback.xml和MDC的spring-boot日志中获取用户请求,响应和request-id以及process-id?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我们如何在使用logback.xml和MDC的spring-boot日志中获取用户请求,响应和request-id以及process-id?相关的知识,希望对你有一定的参考价值。
我一直在尝试为我的spring-boot项目创建一个logback.xml日志记录模式,在其中可以得到一些要求。
我想以日志记录模式打印数据(例如process-id,request-id,特定API请求的用户请求数据,相同请求的用户响应等)),使用 MDC,但是我找不到关于MDC与logback.xml
通信并插入所需值的任何解决方案。
我是spring-boot和Java开发的新手;请给我一些解决方案或想法。
答案
您可以使用put在MDC中添加值
MDC.put("process-id", "1");
然后定义一个日志模式,将这些值与%X一起使用
%X{process-id}
例如,您可以在application.properties中定义模式:
logging.pattern.console=%-4r [%thread] %-5level %X{process-id} - msg%n
或在logback.xml中]
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<layout>
<Pattern>%-4r [%thread] %-5level %X{process-id} - msg%n</Pattern>
</layout>
</appender>
另一答案
[嗨,我有一个解决方案,Apache-Log4j给定一个类是ThreadContext。借助此类,我们可以在MDC上下文中添加/删除数据。
以上是关于我们如何在使用logback.xml和MDC的spring-boot日志中获取用户请求,响应和request-id以及process-id?的主要内容,如果未能解决你的问题,请参考以下文章
xml 安装介质中的SDL Tridion 2013 SP1内容交付Logback配置示例。这是你的logback.xml的一部分
xml 安装介质中的SDL Tridion 2013 SP1内容交付Logback配置示例。这是你的logback.xml的一部分