ロギング メカニズムを使用する必要がある Java アプリケーションを開発しています。そして今、Javaライブラリロガーを選択するか、Log4jロガーを選択するかで混乱しています。
だから私はいつJavaロガーに行くことができるのか、いつlog4jロガーに行くことができるのか知りたい.
ロギング メカニズムを使用する必要がある Java アプリケーションを開発しています。そして今、Javaライブラリロガーを選択するか、Log4jロガーを選択するかで混乱しています。
だから私はいつJavaロガーに行くことができるのか、いつlog4jロガーに行くことができるのか知りたい.
アプリケーションを特定のロギング フレームワークから切り離すために、代わりにSLF4Jを使用することをお勧めします。Jakarta ロギング、JDK1.4 ロギング、log4j などのさまざまな一般的なロギング フレームワーク用のアダプターがあり、ロギングのニーズを適切に抽象化します。
Apache Commoms LoggingプロジェクトとSLF4Jがあり、どちらも基礎となるロギング ライブラリを抽象化します。
実際には、組み込みのロギング クラスよりも Log4J を使用する傾向があります。主な理由は、Log4J はアプリケーション サーバーの Web アプリごとに構成できるのに対し、JDK ロギングは JVM ごとに構成できるためです。
私が現在推奨しているアプローチは、ロギング API として SLF4J を使用することです。必要に応じて、必要に応じてロギング フレームワークを選択できます。
SLF4J を使い始める際のベスト プラクティスと考えられることと、現在配置されている単純な「System.out へのログ」について記事を書きました。 http://runjva.appspot.com/logging101/index.html
うまくいけば、それは役に立ちます。
Logger クラスは以前は jdk の一部ではなかったため、いくつかのライブラリ実装が生まれました。Log4j ライブラリには、最も包括的なログ ユーティリティ セット (フォーマッター、アペンダーなど) の 1 つがあります。ただし、ほとんどの開発者にとって、これはやり過ぎであり、単純な java.util.Logger で十分です。
個人的には、ロガーの実装にカスタム ラッパーを使用しています。これにより、関数のログ記録/監査を実行するためのカスタム呼び出しを定義できます。
実稼働環境でコードを再コンパイルせずにロギング cfg を微調整することに関しては、Log4j の方が柔軟だと思います。