SBT document表示“运行命令时,会向文件发送更详细的日志记录输出而不是屏幕(默认情况下)。”
日志记录文件在哪里?
如果我在程序中使用日志记录功能,那么在程序完成后我在哪里可以找到这些日志?
答案 0 :(得分:8)
如果您只是尝试使用兼容SLF4J的记录器登录文件(如评论中的链接所示),我建议您使用Logback进行记录,如here所述。
配置相当简单(对于简单的用例),包括发送日志输出的位置。链接到教程仅配置控制台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>
然后将<appender-ref ref="STDOUT" />
从教程更改为<appender-ref ref="FILE" />
。您应该真正了解logback / SLF4J文档,以便了解如何在需要时设置更复杂的日志记录配置,但这应该可以帮助您入门。
设置好所有内容后(例如,在build.sbt
中添加logback作为依赖项并在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")
}
我创建了an example SBT project,您可以在其中看到正在运行的回溯配置。