be Spring Frameworkのドキュメントによると、Springの唯一の依存関係はロギングです。デフォルトではApache Commons Loggingを使用しますが、代わりにSLF4JまたはLog4Jを使用するように設定することもできます。私の質問は、私がSpringを使って書いているアプリケーションで、differentnt loggerクラスを使い、アプリケーションで新しいロガーオブジェクトをインスタンス化するのではなく、Springがそれ自身のために使っているロガーへの参照を得ることができるでしょうか?Springが使用しているロガーへの参照を取得することは可能ですか?
答えて
確かに - ロガーは、名前だけで参照されます。したがって、Springが "org.springframework.beans.abc"(たとえば)をロガー名として使用する場合、同じ名前のロガーを要求することもできます。 (春はただ一つロガー/名前を使用してログインしていない - それはあなたが春に使用しているものに応じて、いくつかを使用しています - 。それが必要として)
をしかし、私は強くこれを行うことに対して推薦します。新しいロガーオブジェクトをインスタンス化するコストは最小限に抑えなければなりません。これを行う際の節約は、そのような追加の混乱によって相殺されます。 SpringログはSpringロガー名に記録されます。コードは、コード固有のロガー名に記録する必要があります。それ以外の場合は、何かが記録されている場合、それがSpringコードかあなたのコードから来ているかどうかをどのように知っていますか?これは、ロガー/カテゴリ名の目的を完全に無効にします。
は、いくつかのことをクリアする必要があります。 Apache Commons Loggingはロガーファサードであり、ロガー自体ではありません。 Springライブラリはこのファサードを使用して、特定のロギング実装との結合を回避します。
スプリング(またはApache Commonsのロギングを使用する何か)はSLF4Jは、Apache Commonsのロギングを提供することブリッジの実装を提供することによってSLF4Jを使用するように構成することができます。 SLF4Jもロギング・ファサードですが、Apache Commons Loggingよりも改善されており、あなたのコードのロギングに個人的に推奨するものです。 SLF4Jによるロギングは、特定のロギング実装への結合も回避します。
あなたはそれらのウェブサイトhttp://www.slf4j.orgでSLF4Jに関する詳細な情報を見つけることができます。 SLF4J Manualの最初のページは、ロガーを作成して使用する方法を示しています。あなたのコードがSLF4Jロガーを使用するとき、実行時にLog4J、java.util.logging、Logbackのような実際のロガーにクラスパス上で提供するslf4jバインディングに応じてロギングを委任します。
は、一般的に、ロギングのために、一般的な方法は、あなたが(それを使用して、クラスの完全修飾クラス名と各ロガーに名前を付けることで)ログに記録し、それぞれ異なるクラスのロガーを持っているということです。この原則は、上記リンク先のSLF4Jマニュアルに示されています。
- 1. 行列の行の参照を取得することは可能ですか?
- 2. VB.NETで参照メソッドを取得することは可能ですか?
- 3. JavaScriptでオブジェクトのプロパティへの参照/ポインタを取得することは可能ですか?
- 4. JavaEE6アプリケーションサーバーで "instanciator"コンポーネントへの参照を取得することは可能ですか
- 5. system.drawing.graphicsクラスの生画像バッファへの参照を取得することは可能ですか?
- 6. SpringブートJPAがEntityManagerFactoryへの参照を取得する
- 7. @WebServiceからSpring Beanへの参照を取得する
- 8. Ecore Eclassesを参照しています。 xmlインスタンスからeClassを参照することは可能ですか?
- 9. jQueryでライブコレクションへの参照を取得することはできますか?
- 10. indexOfを使用してセレクタを取得することは可能ですか?
- 11. CSCまたはNugetを使用しないで、Powershellを使用して別のプロジェクトへの参照を追加することは可能ですか?
- 12. Spring MVC + PrimeFacesを使用することは可能ですか?
- 13. Java 8では、メソッド参照を使用してメソッドを定義/実装することは可能ですか?
- 14. イテレータが参照しているSTLコンテナへのポインタを取得しますか?たとえば、次のことが可能
- 15. この文脈で鍵を参照することは可能ですか?
- 16. XmlSchemaを使用してxmlスキーマの要素への参照を取得する
- 17. 既存の変数名からPyObject参照を取得することは可能ですか?
- 18. @ImportResourceアノテーションを使用してApplicationContextへの参照を取得しますか?
- 19. 含まれているモジュールへの参照を取得する
- 20. php - オブジェクトが親オブジェクトメソッドを参照することは可能ですか?
- 21. C# - Menustrip-親が存在していることを確認し、それらへの参照を取得する
- 22. SpringBootなしでSpring Cloud Zuulを使用することは可能ですか?
- 23. GetElementType()を使用しているときにnull参照を取得する
- 24. Excelのアプリケーション参照リストのVBで参照が利用可能なときに使用できるコマンドは、
- 25. ADFプロジェクトで別のADFプロジェクトを参照することは可能ですか?
- 26. Cの文字列へのC++参照は可能ですか?
- 27. Spring - TransactionalメソッドでTransactionStatusオブジェクトへの参照を取得する方法
- 28. はこのAPIを使用してリモートリソースを取得することが可能です:ServletContext.getResourceAsStream()
- 29. XElementへの参照を取得して設定する
- 30. Swiftでinit()を使ってCGFloatへの参照を取得する方法は?