Drop-wizard日志格式中“X {code}”的含义是什么?

时间:2017-06-07 14:34:59

标签: java logging dropwizard

很抱歉,如果我在这里提出非常基本的问题。但我正在使用dropwizard应用程序,其中日志格式为"%-6level [%d{HH:mm:ss.SSS}] [%t] %logger{5} - %X{code} %msg %n"

应用程序日志包含以下行: -

INFO  [2017-06-07 13:54:43,828] com.foo.Bar: In Get Method

我理解%-6level , date and %t and %msg %n在日志格式中的含义,但无法理解%X {code} %logger {5} 的含义在我的日志中看不到这些打印。

有人可以指向一个正确的文档,其中详细解释了这些日志格式的每个参数。

1 个答案:

答案 0 :(得分:2)

以下是关于logback中布局的精彩文档:Layouts

对于logger{length}部分:

  

在记录事件的原点输出记录器的名称。   此转换字采用整数作为其第一个也是唯一的选项。   转换器的缩写算法会缩短记录器名称,   通常没有明显的意义丧失。设置值   length选项为零构成一个例外。它会导致   转换字将子串返回到最右边的点   记录器名称中的字符。下表提供了示例   行动中的缩写算法。

对于X{key:-defaultVal}部分:

  

输出与线程关联的MDC(映射的诊断上下文)   生成了日志记录事件。

有关MDC的更多信息,请访问:Mapped Diagnostic Context

使用您的配置,您可以将其称为例如:

MDC.put("code", "whateverCode");