5

ログにlog4jを使用しているクライアントに配布されるjarファイルがいくつかあります。私の質問は、log4j.xml 構成を jar ファイルに含める必要がありますか、それともログが必要な場合はクライアントに提供させるべきですか?

Apache jar ファイルにはすべて log4j ロギングが付属していますが、log4j.xml は含まれていないため、クライアント jar から log4j.xml 構成ファイルを除外したいと考えています。

4

5 に答える 5

9

はい、放置してください。アプリの 60 のサードパーティ ライブラリの 1 つに独自のものが含まれているために、log4j 構成ファイルが無視されると、まったく厄介です。

于 2009-06-16T16:12:22.510 に答える
5

あなたの場合のlog4jの良いところは、jarが本当に心配する必要がないということです。log4j の基本的な使用例は次のとおりです。

  1. 現在のクラスのロガー オブジェクトを取得する
  2. 次のような、そのロガーのメソッドの 1 つを呼び出します。debug("some message");

出荷する jar がより大きなアプリケーションで使用される場合、コードは上記の 2 つの手順のみを実行するのが理想的です。このように、コードは、クライアントのアプリケーションで構成済みの log4j インスタンスからロガー オブジェクトを取得するだけです。これにより、運用コードは、log4j の構成方法を知る必要がなくなります。

jar の開発のために確認する必要があるログは、単体テストの setUp() メソッドで log4j インスタンスを構成するか、クライアントに送信される実稼働コードにバンドルされない同様のものを構成することで実現できます。

于 2009-06-16T16:29:28.233 に答える
2

クライアントに役立つと予想されるデフォルトのlog4j構成をドキュメントに記載します。こうすることで、関心のある人はあなたが持っているロギング オプションを見ることができます (通常、特定のクラスには、ユーザーの観点から、より興味深いログ メッセージがあります)。log4j を使用するサードパーティのライブラリがあり、ドキュメントがなく、ログ メッセージが画面いっぱいに表示され、特定のログ メッセージを有効または非表示にする方法を見つけようとする必要がある場合、面倒です。

于 2009-06-16T18:29:43.063 に答える
0

構成 xml を追加し、さまざまな構成とオプションを示すユーザー向けの指示をロードします。これにより、それらまたはサポートが追加のログを有効にすることが容易になります。

于 2009-06-16T16:49:37.003 に答える
0

アプリケーションで log4j を使用している場合は、それをプロジェクトに含めます。そうでない場合、なぜそこに入れるのですか?クライアント A が log4j バージョン 1.2 を希望し、クライアント B が log4j バージョン 1.3 を希望している場合はどうでしょうか。

彼らのプロジェクトに何が必要かを彼らに決めさせ、あなたがあなたのプロジェクトに何が必要かを心配させてください。

于 2009-06-16T16:11:10.013 に答える