2017-07-14 20 views
0

Springブートとlog4j2との互換性を証明してテストするためのシンプルなPOCを記述しました。成功すれば、私はそれを実際のアプリケーションに移します。Log4j2でのスプリングブートロギング

私のPOCのソースコードを参照してください:実測 How to set up Spring Boot and log4j2 properly?

、ここで説明した勧告を試してみました: Spring-Boot logging with log4j2?

しかし、それでもまだ、私はから春バージョンとlog4j2の互換性について読み/知っ https://github.com/Dennyss/SpringBootLog4j2POC

を働いていない。問題は、アプリケーションログとSpringログの両方がコンソールにのみ印刷されていることです。

(POC)から以下のMavenの依存関係を参照してください:

<dependencies> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
     <exclusions> 
      <exclusion> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-starter-logging</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-log4j2</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-core</artifactId> 
     <version>2.6.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-api</artifactId> 
     <version>2.6.2</version> 
    </dependency> 
</dependencies> 

私は春のlogbackを排除するものではないとブート・スターター・log4j2を追加しない場合は、アプリケーションログは、アプリケーションファイルへの印刷が、春のログされています全く印刷されていません。私は依存関係のどこかで問題を感じます。助けをお待ちしています。

答えて

1

SpringブートLoggingのマニュアルによれば、ログ設定ファイルの場所は、logging.configプロパティを使用して指定できます。私はあなたのstart.shスクリプトが-Dlog4j.configurationFileを渡していることに気づいた。通常、これはLog4J 2の直接的な統合には十分ですが、Spring Bootはlogging.configを使用します。

これに切り替えた後、それをログファイルに書き込みます。デフォルトの設定を使用した「ERROR StatusLoggerませんlog4j2構成ファイルが見つかりました:。

java -Dlogging.config=/share/LogPOC/log4j2.xml -cp poc.jar:libs/* com.poc.logger.Application 
+0

は、今日、この試み、コンソールにエラーメッセージが表示されましただけにエラーを記録コンソール。"すべてうまくいく。私はapplication.logのアプリケーションログ、spring-framework.logのSpring、other.logのその他のものを見る。ご協力いただきありがとうございます! – Denys

+0

log4jのドキュメントでは、 '-Dlog4j.configurationFile'が必要ですが、正しく初期化されているかどうかはわかりません(エラーメッセージは同じです)。 – Denys