2016-08-30 9 views
2

Spring Bootには、org.springframework.boot.logging.LoggingSystem.SYSTEMS(Logback、Log4j、またはJULのいずれかのクラスの存在を基にして)で利用可能なロギングフレームワークが自動的に検出され、アプリケーション提供のログ設定ファイルまたはSpring Boot独自のデフォルト設定ファイル、Springブート自体とともにパッケージ化されています。Spring Bootでのロギングの自動設定を無効にする方法は?

これは、Grails 3アプリケーションをWARファイルとしてJBoss EAP 6(a.k.a. WildFly 7)にデプロイするときに問題を引き起こしています。 アプリケーションが初期化されると、Springブートは、JULorg.jboss.logmanager.LogManagerのJBoss提供のロギング実装を検出し、その上でreadConfiguration()メソッドを呼び出し、ロギング設定を失ってしまいます。

  • 私はむしろ私のwarファイル内の別のロギング実装をパッケージよりも、JBossの提供のロギング実装とJBossが提供するログ設定を使用していきたいと思います。これにより、アプリケーションサーバー上のすべてのアプリケーションをサーバーの構成ファイルから構成することができます。

Spring Bootのログの自動設定を無効にする方法はありますか?(私は春のブートを検出し、ログフレームワークを使用して大丈夫です;私はちょうどそれをしようとしたくないそれを構成します。)私はソースコードを見ているが、フックを参照してくださいこれを制御する。

関連するソースコード:

可能性のあるアイデア:

  • どういうわけか削除(ログの構成をトリガーする)ApplicationStartedEventまたはApplicationEnvironmentPreparedEventイベントを受信する前に、アプリケーションリスナーの一覧から210を削除しますか?ユースケースが異なるため

これらのその他の関連の質問は、私の問題を解決できないん

バージョン:

  • 春ブーツ - 1.3.3.RELEASE
  • Grailsの - 3.1。5

答えて

1

これは言うあたりの答えではありませんが、それは場合に役立ちますいくつかの手がかりは、あなたが私に言う:

あなたがこれを見ました

?また How-To Configure Logging for Spring-Boot + JBOSS 7.1 Server


、春ブーツ1.4(それはあなたのためにそれを修正しないと、あなたがアップグレードするオプションを持っている場合)に行われよう修正:Spring Boot Logging initialization

修正の私の理解:それは遅らせます

System.setProperty("java.util.logging.manager", "org.apache.logging.log4j.jul.LogManager") 
4

春ブート1.3.xのではあなたが何もしないorg.springframework.boot.logging.LoggingSystemのカスタム実装を作成してからを設定することができます:あなたは、プログラムjava.util.logging.managerを定義することができロガーの初期化、システムプロパティをカスタム実装の完全修飾クラス名に置き換えます。

私はSpring Boot 1.4.xです。カスタム実装は必要ありません。代わりに、org.springframework.boot.logging.LoggingSystemシステムプロパティをnoneに設定するだけで済みます。

+0

私がこのルートを使用している場合、Springブートは何もログに記録されなくなりますか?それともstdoutに書きますか? – GreenGiant

+1

Commons Loggingの呼び出しによってログを記録し続けます。あなたのアプリケーションサーバーがCommons Loggingをサポートしているか、SLF4JのCommons Logging置換のようなものを使用している限り、アプリケーションサーバーのログ設定に基づいてどこにでもログを記録します。 –

+0

この環境プロパティは、どのように、あるいはどこで設定できますか?私はWARとしてJBoss EAP 6にデプロイしています。可能であれば、これをサーバー上のグローバルシステムプロパティとして設定したくないのです。アプリケーション自体または一部のプロパティファイル内に設定する便利な方法はありますか? (これはGrails 3アプリです) – GreenGiant

関連する問題