SBT 文档说“运行命令时,将更详细的日志记录输出发送到文件而不是屏幕(默认情况下)。......”
日志文件在哪里?
如果我在我的程序中使用了日志功能,程序完成后我在哪里可以找到这些日志?
如果您只是尝试使用兼容 SLF4J 的记录器(如您评论中的链接所建议的那样)记录到文件,我建议您使用 Logback 进行记录,如此处所述。
配置起来相当简单(对于简单的用例),包括将日志输出发送到哪里。链接到的教程只配置了一个控制台追加器,即将记录的输出发送到控制台。您可以像这样(在您的 )中配置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>
然后<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")
}
我创建了一个示例 SBT 项目 ,您可以在其中看到正在运行的 logback 配置。