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文档,以便弄清楚如何设置更复杂的日志配置,但这应该是您的入门指南。
设置好一切后(即在build.sbt
中添加logback作为依赖项,并在src/main/resources
中创建logback.xml
配置),然后您可以像这样调用日志记录器:
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配置。
标题>