Где файл журнала по умолчанию в Scala SBT?

В документе SBT говорится, что "Когда запускается команда, более подробный вывод журнала отправляется в файл, чем на экран (по умолчанию)...."

Где файл регистрации?

Если я использую функцию регистрации в моей программе, где я могу найти эти журналы после завершения программы?

Ответ 1

Если вы просто пытаетесь войти в файл, используя совместимый с 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>

И затем сменив <appender-ref ref="STDOUT" /> в учебнике на <appender-ref ref="FILE" />. Вы действительно должны взглянуть на документы logback/SLF4J, чтобы выяснить, как настроить более сложные конфигурации протоколирования, если вам это нужно, но это должно помочь вам начать.

После настройки всего (например, добавления логина в качестве зависимостей в 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, в котором вы можете увидеть текущую конфигурацию журнала.