12

SBT ドキュメントには、 「コマンドが実行されると、より詳細なログ出力が画面ではなくファイルに送信されます (デフォルト) ...」と記載されています。

ログファイルはどこにありますか?

プログラムでログ機能を使用している場合、プログラムの終了後にそれらのログをどこで見つけることができますか?

4

1 に答える 1

10

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.xmlsrc/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")
}

 実行中の logback 構成を確認できるサンプル SBT プロジェクトを作成しました。

于 2013-01-19T23:00:50.707 に答える