Java logback-无行结束分隔符

Java logback-无行结束分隔符,java,logging,logback,Java,Logging,Logback,我正在使用logback 0.9.21。不幸的是,它将所有消息打印到一行,没有行尾字符,甚至没有错误的字符 我已经把图案做好了: <pattern>%d{HH:mm:ss.SSS} %-5level %class (%thread) [%logger{36}] -- %msg%n</pattern> %d{HH:mm:ss.SSS}%-5级%class(%thread)[%logger{36}]--%msg%n 有什么问题吗?找到了,括号在图案布局中有特殊意义,因此必

我正在使用logback 0.9.21。不幸的是,它将所有消息打印到一行,没有行尾字符,甚至没有错误的字符

我已经把图案做好了:

<pattern>%d{HH:mm:ss.SSS} %-5level %class (%thread) [%logger{36}] -- %msg%n</pattern>
%d{HH:mm:ss.SSS}%-5级%class(%thread)[%logger{36}]--%msg%n

有什么问题吗?

找到了,括号在图案布局中有特殊意义,因此必须转义。 因此,模式应该是这样的:

<pattern>%d{HH:mm:ss.SSS} %-5level %class \(%thread\) [%logger{36}] -- %msg%n</pattern>
%d{HH:mm:ss.SSS}%-5级%class\(%thread\)[%logger{36}]--%msg%n

在logback中,模式字符串中的括号用作s


您需要用反斜杠将其转义。

您使用的是哪个平台?您使用哪个工具查看日志?hexeditor对换行符怎么说?hexeditor没有找到换行符。原因是由于行被截断,所以根本没有行的结尾。这很容易被忽视,我也有类似的问题。我的模式是“%d{yyyy-MM-dd HH:MM:ss.SSS}%5级别[%t][%logger}]-%m%ex%n”。问题是%logger之后的额外}。Logback版本1.2.3+java8