Web アプリケーションのスタンドアロン バージョン (実行可能 jar) をビルドしようとしています。そこで、jetty を使用して war ファイルをロードします。war ファイルには、依存関係として slf4j と logback が既に含まれています。私のスタンドアロン アプリではlogback.xml
、ロガー定義を定義する必要があります。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="app" class="ch.qos.logback.core.FileAppender">
<file>/tmp/app.log</file>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="${log.level}">
<appender-ref ref="app"/>
</root>
</configuration>
これは正常に機能しますが、ログ ファイルではなくコンソールに jetty のログ情報が出力されます (アプリのログはすべてログ ファイルに記録されます)。jetty のドキュメントで、埋め込みアプリにもロギング フレームワークを含める必要があることがわかりました。そのため、slf4j と logback を含めましたが、SLF4J: クラス パスには複数の SLF4J バインディングが含まれています。エラーが発生し、ファイルにログインしません。
どうすればこれを修正できますか?
バージョン:
- 桟橋: 9.0.1.v20130408
- ログバック: 1.0.7
- slf4j: 1.7.2