Vas*_*802 5 logging scala logback playframework playframework-2.5
我有一个具有所有标准配置的播放框架应用程序。我这样修改logback.xml:
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%coloredLevel %logger{15} %L - %message%n%xException{10} </pattern>
</encoder>
</appender>
Run Code Online (Sandbox Code Playgroud)
我尝试而不是%L 放在那里%line,%class等等 - 所有结果都相同,它?在日志消息中输出,如下所示:
[info] application ? - Checking cart...
Run Code Online (Sandbox Code Playgroud)
我还尝试遵循这个问题的公认答案:Scala Play framework: logger pattern for display file and line
and put val logger = Logger(this.getClass)inside my class。结果还是一样。有什么办法可以解决吗?build.sbt 中指定的 Logback 版本是2.11.
我添加includeCallerData并工作
<appender name="ASYNCSTDOUT" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="STDOUT"/>
<includeCallerData>true</includeCallerData>
</appender>
Run Code Online (Sandbox Code Playgroud)
在你的问题中使用%Las 在 Play 2.4 和 Play 2.5 中都非常适合我(确切的版本:2.4.6和2.5.12)。
但我注意到,我没有在任一应用程序的build.sbt.
这会导致(对于 Play 2.5 应用程序):
+-com.typesafe.play:play-logback_2.11:2.5.12 [S]
| +-ch.qos.logback:logback-classic:1.1.7
| | +-ch.qos.logback:logback-core:1.1.7
| | +-org.slf4j:slf4j-api:1.7.20 (evicted by: 1.7.21)
| | +-org.slf4j:slf4j-api:1.7.21
Run Code Online (Sandbox Code Playgroud)
(通过sbt-dependency-graph插件的依赖树)
如果您看到不同的 logback 版本,请尝试删除任何显式依赖项声明,以便您在依赖项树中看到相同的库版本。
希望能帮助到你。