logback:控制异常堆栈跟踪的格式

2023-11-23

我在 Scala/Play 2.2.0 应用程序上使用 Logback 1.0.13。 现有配置如下所示:

  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>${application.home}/logs/application.log</file>
    <encoder>
     <pattern>%date [%level][%logger{1}][%thread{1}] %message%xException%n</pattern>
    </encoder>
  </appender>

我正在寻找是否有一种方法可以配置它,以便异常回溯行具有自定义的分隔符。代替

play.api.Configuration$$anon$1: Configuration error[Cannot connect to database [default]]
at play.api.Configuration$.play$api$Configuration$$configError(Configuration.scala:92) ~[play_2.10-2.2.0.jar:2.2.0]
at play.api.Configuration.reportError(Configuration.scala:570) ~[play_2.10-2.2.0.jar:2.2.0]
at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:252) ~[play-jdbc_2.10-2.2.0.jar:2.2.0]

我想在每行前面放置一些字符,如下所示:

play.api.Configuration$$anon$1: Configuration error[Cannot connect to database [default]]
>>> at play.api.Configuration$.play$api$Configuration$$configError(Configuration.scala:92) ~[play_2.10-2.2.0.jar:2.2.0]
>>> at play.api.Configuration.reportError(Configuration.scala:570) ~[play_2.10-2.2.0.jar:2.2.0]
>>> at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:252) ~[play-jdbc_2.10-2.2.0.jar:2.2.0]

我发现这样的方法有效:

       <pattern>%date [%level][%logger{1}][%thread{1}] 
         %message%replace(%xException){"\n", "\\n"}%nopex%n</pattern>  

%replace 机制适用于堆栈跟踪文本。您还需要 %nopex 来防止原始堆栈跟踪再次显示;否则 Logback 会“有帮助地”注意到您忽略了跟踪并为您包含它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

logback:控制异常堆栈跟踪的格式 的相关文章

随机推荐