使用SBT调试和登录提升

San*_*go 5 debugging logging scala lift

我试图使用SBT在Lift中进行基本的日志记录和调试.我使用Eclipse作为编辑器,但使用SBT进行所有编译.任何人都可以建议如何打印调试语句/记录到SBT控制台?

Deb*_*ski 5

如果要进行日志记录Logback,则需要创建一个名为的基本xml文件src/main/resources/props/default.logback.xml(文件名可以不同以反映开发和生产环境,但我们会保持简单).

在此文件中,将记录到控制台的基本配置如下所示:

<configuration>
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
  </appender>

  <root level="debug">
    <appender-ref ref="STDOUT" />
  </root>
</configuration>
Run Code Online (Sandbox Code Playgroud)

(更多示例可以在Logback手册中找到.)

接下来,您需要添加依赖项

"ch.qos.logback" % "logback-classic" % "0.9.26"
Run Code Online (Sandbox Code Playgroud)

你的sbt配置.

最后,如果你想从一个类来登录,拌入特质Logger,你会得到一切debug,info,warn,...范围的方法.

class SomeClass extends SomeOtherClass with Logger {
    debug("Class initialised.")
}
Run Code Online (Sandbox Code Playgroud)

或者,混合Loggable使用不会污染您的命名空间,只提供logger代理方法.

class SomeClass extends SomeOtherClass with Loggable {
    logger.debug("Class initialised.")
}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请查看Lift维基.