【问题标题】:Logging to a file with Scalatra and Logback使用 Scalatra 和 Logback 记录到文件
【发布时间】:2017-10-02 08:22:01
【问题描述】:

我正在尝试配置一个独立的 Scalatra 应用程序以记录到文件。 我正在关注官方手册并将其添加到build.sbt

"ch.qos.logback" % "logback-classic" % "1.2.3" % "runtime"

我还使用以下配置添加了/src/main/resources/logback.xml

<configuration debug="false">
<appender name="file" class="ch.qos.logback.core.fileappender">
    <file>/var/log/webapp.log</file>
    <encoder>
        <pattern>%d{hh:mm:ss.sss} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
</appender>

<logger name="org.eclipse.jetty.server" level="warn"/>
<logger name="org.eclipse.jetty.util.log" level="warn"/>

<root level="info">
    <appender-ref ref="file" />
</root>
</configuration>

但是当我组装一个 jar 并运行它时,所有标准输出都充满了来自码头的 DEBUG 级别日志,并且不存在 /var/log/webapp.log 文件。

我在构建时也收到此错误消息:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

我错过了什么?

【问题讨论】:

  • 你可以尝试从ch.qos.logback" % "logback-classic" % "1.2.3" % "runtime" 行中删除` % "runtime" `
  • 我试过了,但没有帮助
  • 我还尝试将日志移至webapp/WEB-INF/logback.xml,并运行sbt run jetty:start。仍然不是日志文件,标准输出中充斥着码头日志。

标签: scala jetty logback scalatra


【解决方案1】:

这主要是因为类路径上没有 logback-classic 库。检查解析器是否未被覆盖以忽略 MavenCentral

【讨论】:

    猜你喜欢
    • 2019-10-24
    • 1970-01-01
    • 1970-01-01
    • 2020-12-19
    • 1970-01-01
    • 2016-10-04
    • 1970-01-01
    • 1970-01-01
    • 2018-03-13
    相关资源
    最近更新 更多