使用SBT在Lift中进行调试和日志记录

5

我正在尝试使用SBT在Lift中实现基本的日志记录和调试。我使用Eclipse作为编辑器,但所有编译都是使用SBT进行的。有人能建议如何将调试语句/日志记录打印到SBT控制台吗?

2个回答

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>

更多示例可以在Logback手册中找到。

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

"ch.qos.logback" % "logback-classic" % "0.9.26"

将其添加到您的sbt配置中。

最后,如果您想从类中记录日志,请混合使用Logger特性,这样您就可以在作用域内获取所有debuginfowarn等方法。

class SomeClass extends SomeOtherClass with Logger {
    debug("Class initialised.")
}

或者,您也可以混合使用Loggable,它不会污染您的命名空间,只提供一个logger代理方法。
class SomeClass extends SomeOtherClass with Loggable {
    logger.debug("Class initialised.")
}

For more info, have a look at the Lift wiki.


1
在sbt中,有一个console-quick命令,可以在命令行中加载网站环境。它不是实时调试工具,没有断点、逐步执行等功能,但您可以在命令行上调用方法并查看实际结果,这有时确实非常有帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接