我是Scala的新手,我正在尝试为现有的sbt项目生成json格式的日志,但是我得到了下面的错误-
java.lang.ClassNotFoundException: net.logstash.logback.encoder.LogstashEncoder
我已经将这些依赖项添加到build.sbt
"net.logstash.logback" % "logstash-logback-encoder" % "4.11",
"ch.qos.logback" % "logback-core" % "1.2.3",
"ch.qos.logback" % "logback-access" % "1.2.3"我的logback.xml看起来是这样的-
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>app.log</file>
<append>true</append>
<!--<encoder>
<pattern>%date{yyyy-MM-dd} %X{akkaTimestamp} %-5level[%thread] %logger{1} - %msg%n</pattern>
</encoder>-->
<encoder class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>
<root level="DEBUG">
<appender-ref ref="FILE"/>
</root>
</configuration>Scala版本2.12.3 SBT版本1.0.3
在我可能出错的地方,任何帮助都将不胜感激。
发布于 2019-11-28 17:16:05
我在詹金斯也有同样的问题。但我没有用json格式进行日志记录。我使用了akka-http,它有SLF4J/logback进行日志记录。
这个logback.xml解决了我的问题:
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<target>System.out</target>
<encoder>
<pattern>%X{akkaTimestamp} %-5level[%thread] %logger{0} - %msg%n</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>akka.log</file>
<append>true</append>
<encoder>
<pattern>%date{yyyy-MM-dd} %X{akkaTimestamp} %-5level[%thread] %logger{1} - %msg%n</pattern>
</encoder>
</appender>
<logger name="akka" level="DEBUG"/>
<root level="DEBUG">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>
</configuration>不确定它能不能解决你的问题。想知道更多关于这个问题的细节。
https://stackoverflow.com/questions/48293912
复制相似问题