以下是我当前的logback编码器模式,
<encoder>
<pattern>%d{yyyy.MM.dd HH:mm:ss} | %-5level | [%thread] | \(%class{25}:%line\) - %msg%n</pattern>
</encoder>
例如: 2017-06-05 11:15:21 |调试| [Thread-10] | (c.s.n.f.s.m.NmsngMessagingImpl:450) - 控制达到send()
在java类中,logger的一个例子如下所示,
logger.info(&#34;收到邮件请求&#34; + messRecv);
上述模式适用于所示示例。
现在我有另一个例子,如下所示,
[时间戳] [日志级别] [SYSTEMID] [包] [类] [方法] [ID]消息
systemId 和 id 是自定义值的新条目。
我可以知道如何通过记录器传递它们。
答案 0 :(得分:1)
您可以将它们添加到MDC:
MDC.put("systemId", "value");
MDC.put("id", "value2");
MDC(映射的诊断上下文)是按线程管理的键值对映射。
可以通过%X {mdcName}在配置中引用它们,因此您的模式将如下所示:
<pattern>%d{yyyy.MM.dd HH:mm:ss} | %-5level | %X{systemId} ... %msg%n</pattern>
%X {systemId}将替换为MDC中“systemId”的线程值。