7

ロギング メカニズムを使用する必要がある Java アプリケーションを開発しています。そして今、Javaライブラリロガーを選択するか、Log4jロガーを選択するかで混乱しています。

だから私はいつJavaロガーに行くことができるのか、いつlog4jロガーに行くことができるのか知りたい.

4

5 に答える 5

10

アプリケーションを特定のロギング フレームワークから切り離すために、代わりにSLF4Jを使用することをお勧めします。Jakarta ロギング、JDK1.4 ロギング、log4j などのさまざまな一般的なロギング フレームワーク用のアダプターがあり、ロギングのニーズを適切に抽象化します。

于 2010-02-13T11:13:37.293 に答える
3

Apache Commoms LoggingプロジェクトとSLF4Jがあり、どちらも基礎となるロギング ライブラリを抽象化します。

実際には、組み込みのロギング クラスよりも Log4J を使用する傾向があります。主な理由は、Log4J はアプリケーション サーバーの Web アプリごとに構成できるのに対し、JDK ロギングは JVM ごとに構成できるためです。

于 2010-02-13T11:19:15.333 に答える
3

私が現在推奨しているアプローチは、ロギング API として SLF4J を使用することです。必要に応じて、必要に応じてロギング フレームワークを選択できます。

SLF4J を使い始める際のベスト プラクティスと考えられることと、現在配置されている単純な「System.out へのログ」について記事を書きました。 http://runjva.appspot.com/logging101/index.html

うまくいけば、それは役に立ちます。

于 2010-02-13T11:25:43.100 に答える
3

Logger クラスは以前は jdk の一部ではなかったため、いくつかのライブラリ実装が生まれました。Log4j ライブラリには、最も包括的なログ ユーティリティ セット (フォーマッター、アペンダーなど) の 1 つがあります。ただし、ほとんどの開発者にとって、これはやり過ぎであり、単純な java.util.Logger で十分です。

個人的には、ロガーの実装にカスタム ラッパーを使用しています。これにより、関数のログ記録/監査を実行するためのカスタム呼び出しを定義できます。

于 2010-02-13T11:03:09.847 に答える
2

実稼働環境でコードを再コンパイルせずにロギング cfg を微調整することに関しては、Log4j の方が柔軟だと思います。

于 2010-02-13T11:17:14.820 に答える