我们在tomcat应用程序中使用log4j2。我们想在每个日志行中添加会话ID(请不要为此判断,也许这不是最好的选择,但这很实用)。

因此,我们希望实现以下目标:

2018-05-08 21:55:20,828 INFO SessionId CurrentClass LogMessage


为此,我们需要为每个记录的行创建某种回调。使用log4j2可行吗?

最佳答案

您可以通过执行以下操作在日志中添加任何信息:

String sessionId = "my-session" // this is dynamic.. You can get it in a filter..
org.apache.log4j.MDC.put("sessionId", sessionId);


然后,将您的日志模式定义为:

 %d{ISO8601}] %X{sessionId} %p %c - %m%n


之后,记录器将打印sessionId。

关于java - Log4j2:将某些字符串添加到每个记录的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50241376/

10-13 09:54