很抱歉,如果我在这里提出非常基本的问题。但我正在使用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} 的含义在我的日志中看不到这些打印。
有人可以指向一个正确的文档,其中详细解释了这些日志格式的每个参数。
答案 0 :(得分:2)
以下是关于logback中布局的精彩文档:Layouts
对于logger{length}
部分:
在记录事件的原点输出记录器的名称。 此转换字采用整数作为其第一个也是唯一的选项。 转换器的缩写算法会缩短记录器名称, 通常没有明显的意义丧失。设置值 length选项为零构成一个例外。它会导致 转换字将子串返回到最右边的点 记录器名称中的字符。下表提供了示例 行动中的缩写算法。
对于X{key:-defaultVal}
部分:
输出与线程关联的MDC(映射的诊断上下文) 生成了日志记录事件。
有关MDC的更多信息,请访问:Mapped Diagnostic Context
使用您的配置,您可以将其称为例如:
MDC.put("code", "whateverCode");