2011-06-25 1 views
5

SBTを使用したリフトでの基本的なロギングとデバッグを試行しています。私はエディタとしてEclipseを使用していますが、SBTですべてのコンパイルを行っています。誰もデバッグステートメントの出力方法やSBTコンソールへのロギング方法を提案できますか?SBTを使用したリフトのデバッグとログイン

答えて

5

Logbackでログを記録する場合は、src/main/resources/props/default.logback.xmlという名前の基本的なxmlファイルを作成する必要があります(ファイル名は、開発環境と本番環境を反映するために異なる場合がありますが、単純にします)。

<configuration> 
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
    <encoder> 
     <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> 
    </encoder> 
    </appender> 

    <root level="debug"> 
    <appender-ref ref="STDOUT" /> 
    </root> 
</configuration> 

(より多くの例がLogback manualで見つけることができます。)

次に、あなたが追加する必要があります。このファイルで

は、コンソールにログインします基本的な構成は次のようになります依存関係

"ch.qos.logback" % "logback-classic" % "0.9.26" 

あなたのsbt構成に依存します。最後に

、あなたは、クラスからログイントレイトLoggerに混ぜて、あなたがスコープ内のすべてのdebuginfowarn、...メソッドを取得したい場合。

class SomeClass extends SomeOtherClass with Logger { 
    debug("Class initialised.") 
} 

または、代わりにあなたの名前空間を汚染しないLoggableに混ぜるだけloggerプロキシメソッドを提供します。

class SomeClass extends SomeOtherClass with Loggable { 
    logger.debug("Class initialised.") 
} 

詳細については、Lift wikiをご覧ください。

+0

ありがとうございます! – Santiago

1

sbtには、コマンドラインでWebサイト環境を読み込むconsole-quickコマンドがあります。ブレークポイントを持つリアルタイムのデバッグツールではなく、ステップバイステップで実行しますが、コマンドラインでメソッドを呼び出すことで、時には実際に役立つ結果が得られることがあります。

関連する問題