39

今日、Log4J 2.0 が現在活発に開発されていることを知りました。アルファ版があり、logback を置き換えると言われています。

現在、私のアプリには、4 つ近くのロギング フレームワークがあります。

  • Java ユーティリティ ロギング
  • log4j
  • slf4j
  • logback (maven が提供するハックのおかげで無視されます)
  • commons logging (maven が提供するハックのおかげで無視されます)
  • そしてTomcatには独自のJULIアダプターがあります

私は log4j (1.2.x) を使用してきました。率直に言って、新しい人の機能は必要なかったのですが、最近 SLF4J に切り替えたくなりました。主な理由は、複雑な log4j 構成ファイルを書き換えたくないからです。新しい形式(logback) に変換します。

今、私の質問は、log4j 2.0 を考えると、SLF4J が将来の正しい選択であるということです。

1.2.x古い log4j ( ) は最小公分母であるため、そのまま使用する必要があるように思われます。

更新: log4j 2.0 をさらに調べると、非常に似ていますが、構成は log4j 1.2 と下位互換性がないようです。logback が最良の選択のようです。

4

2 に答える 2

34

免責事項: 私は log4j、slf4j、および logback プロジェクトの創設者ですが、log4j 2.0 とは無関係です。

私が理解しているように、その名前にもかかわらず、log4j 2.0 は log4j 1.x とは大きく異なります。ユーザー API に関する限り、log4j 2.0 は log4j 1.x とほとんど互換性がありません。Log4j 2.0 は、現時点 (2012 年 8 月) である log4j 1.x のアダプテーション レイヤーを提供しますundocumented

于 2012-08-23T15:46:01.350 に答える
16

主観的な質問です。

必要な場合は、log4j をバックエンドとして使用できるため、slf4j を使用することをお勧めします。

さまざまなログ API を使用する可能性のある多数のコンポーネントを使用する可能性があります。これらの API を介した出力を単一の出力ルートに統合できるのは良いことです。

于 2012-08-23T15:00:22.757 に答える