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ブートは、JUL(org.jboss.logmanager.LogManager
)のJBoss提供のロギング実装を検出し、その上でreadConfiguration()
メソッドを呼び出し、ロギング設定を失ってしまいます。
- 私はむしろ私のwarファイル内の別のロギング実装をパッケージよりも、JBossの提供のロギング実装とJBossが提供するログ設定を使用していきたいと思います。これにより、アプリケーションサーバー上のすべてのアプリケーションをサーバーの構成ファイルから構成することができます。
Spring Bootのログの自動設定を無効にする方法はありますか?(私は春のブートを検出し、ログフレームワークを使用して大丈夫です;私はちょうどそれをしようとしたくないそれを構成します。)私はソースコードを見ているが、フックを参照してくださいこれを制御する。
関連するソースコード:
可能性のあるアイデア:
- どういうわけか削除(ログの構成をトリガーする)
ApplicationStartedEvent
またはApplicationEnvironmentPreparedEvent
イベントを受信する前に、アプリケーションリスナーの一覧から210を削除しますか?ユースケースが異なるため
これらのその他の関連の質問は、私の問題を解決できないん:
- Disable automatic logging configuration in spring boot
- Spring boot and JBoss 8 Wildfly log configuration application
- Spring-boot application configuration
- Spring-Boot Logging configuration when deployed as .war
バージョン:
- 春ブーツ - 1.3.3.RELEASE
- Grailsの - 3.1。5
私がこのルートを使用している場合、Springブートは何もログに記録されなくなりますか?それともstdoutに書きますか? – GreenGiant
Commons Loggingの呼び出しによってログを記録し続けます。あなたのアプリケーションサーバーがCommons Loggingをサポートしているか、SLF4JのCommons Logging置換のようなものを使用している限り、アプリケーションサーバーのログ設定に基づいてどこにでもログを記録します。 –
この環境プロパティは、どのように、あるいはどこで設定できますか?私はWARとしてJBoss EAP 6にデプロイしています。可能であれば、これをサーバー上のグローバルシステムプロパティとして設定したくないのです。アプリケーション自体または一部のプロパティファイル内に設定する便利な方法はありますか? (これはGrails 3アプリです) – GreenGiant