Scala的SBT中的默认日志文件在哪里?

Qi *_* Qi 11 scala sbt

SBT文件说:"当运行一个命令,更详细的日志记录输出发送到比屏幕(默认)的文件......"

日志文件在哪里?

如果我在程序中使用日志记录功能,程序完成后我在哪里可以找到这些日志?

fre*_*oma 9

如果你只是想登录到使用SLF4J兼容记录文件(通过链接在您的评论建议)我会建议你使用的logback日志记录,作为解释在这里.

配置起来相当简单(对于简单的用例),包括发送日志输出的位置.链接到教程仅配置控制台appender,即记录的输出将被发送到控制台.您可以FileAppender像这样(在您的logback.xml)中配置(即将日志输出发送到文件):

<appender name="FILE" class="ch.qos.logback.core.FileAppender">
   <file>testFile.log</file>
   <append>true</append>
   <encoder>
     <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
   </encoder>
 </appender>
Run Code Online (Sandbox Code Playgroud)

然后<appender-ref ref="STDOUT" />从教程改为<appender-ref ref="FILE" />.您应该真正了解logback/SLF4J文档,以便了解如何在需要时设置更复杂的日志记录配置,但这应该可以帮助您入门.

设置好所有内容后(即将logback作为依赖项添加到其中build.sbt并创建logback.xml配置src/main/resources),然后可以像这样调用记录器:

import org.slf4j.LoggerFactory
import ch.qos.logback.core.util.StatusPrinter
import ch.qos.logback.classic.LoggerContext

object LogTester extends App{
  def logger = LoggerFactory.getLogger("KDURLFilter")
  StatusPrinter.print((LoggerFactory.getILoggerFactory).asInstanceOf[LoggerContext])
  logger.info("vikas")
}
Run Code Online (Sandbox Code Playgroud)

我已经创建了一个示例SBT项目  ,您可以在其中看到正在运行的logback配置.