1.Log4j2配置

<appenders>
<console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="[%d][%t][%p][%l] %m%n"/>
</console>
</appenders>

如何让logback像log4j2一样打印出日志输出所在行?_生产环境


打印出来效果

如何让logback像log4j2一样打印出日志输出所在行?_生产环境_02


此时我们的WebApplication.java 是可以单击键入到所在行的

2.Logback如何配置像log4j2一样呢

效果展示

如何让logback像log4j2一样打印出日志输出所在行?_生产环境_03

%n[%d{yyyy-MM-dd HH:mm:ss,sss}] [%thread] [%-5level] %replace(%replace(%caller{1}){'Caller\+0\s+', ' '}){'\s', ' '}%msg

​不过不建议在生产环境使用,因为用到了两次正则,效率比较低​

附上Appender完整配置

    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%n[%d{yyyy-MM-dd HH:mm:ss,sss}] [%thread] [%-5level] %replace(%replace(%caller{1}){'Caller\+0\s+', ' '}){'\s', ' '}%msg</pattern>
</encoder>
</appender>

如果正则把at去掉后不能点击,不知道原理所在,如果有更好的打印方案,望大神们在下面留言