Java 如何将信息添加到库';什么是日志消息?

Java 如何将信息添加到库';什么是日志消息?,java,logging,dependencies,static-libraries,Java,Logging,Dependencies,Static Libraries,我有一个使用库的Servlet。servlet和库都通过log4j记录事情。 servlet是多线程的,每个请求都有一个唯一的“请求ID”类似于123456 当servlet记录内容时,它总是在日志消息的开头追加请求ID,但库没有追加请求ID。 像这样: Servlet-[123456]我现在要做一些事情并调用库 LibraryX-我在这里做图书馆的工作 如何在不修改库的情况下将此请求ID附加到每个库消息日志中? 我想要的是: Servlet-[123456]我现在要做一些事情并调用库 Libr

我有一个使用库的
Servlet
。servlet和库都通过log4j记录事情。
servlet是多线程的,每个请求都有一个唯一的“请求ID”类似于
123456

当servlet记录内容时,它总是在日志消息的开头追加请求ID,但库没有追加请求ID。
像这样:
Servlet-[123456]我现在要做一些事情并调用库
LibraryX-我在这里做图书馆的工作

如何在不修改库的情况下将此请求ID附加到每个库消息日志中? 我想要的是:
Servlet-[123456]我现在要做一些事情并调用库
LibraryX-[123456]我在这里做图书馆的工作

你可以使用 只需将您的requestId放入上下文:

MDC.put("requestId", requestId);
并配置您的
jog4j.xml

<appender name="console" class="org.apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d - [%X{requestId}] - %m%n" />
    </layout>
</appender>

您看过吗?我认为这是有用的。