我使用这个模式:
<pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} - (%file:%line) - %msg%n</pattern>
然而输出结果看起来像是:
09:42:25.811 WARN a.a.an.dao.api.ANApi - (ANApi.java:153
模式似乎在 %line 之后被截断了(如果我使用 %L 也会发生这种情况) - 我做错了什么?
我需要这个特定的模式,以便Eclipse控制台能够识别它。
(
和)
有特殊含义,正如logback网站所解释的:
在PatternLayout中,括号可以用于分组转换模式。因此,'('和')'具有特殊含义,如果要将它们用作字面量,则需要进行转义。下面进一步解释了括号的特殊性质。
在您的情况下,您需要使用反斜杠escape them with a backslash进行转义:
<pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} - \(%file:%line\) - %msg%n</pattern>
<property name="PATTERN" value="\\(%file:%ine\\)..."/> ... <pattern>${PATTERN}</pattern>
- Stephan