14

すべてのアプリケーション ログを集中管理したい (理想的にはほぼリアルタイムで)。Log4 Appender を使用します。どちらを使用する必要がありますか:

  1. JMS キューでログ イベントを送信する
  2. syslog / syslog-ng
  3. localfile に書き込み、rsync (3 秒ごと) を使用してログを複製します。
  4. 一元化された REST HTTP サービスに POST を実行する

どちらを使用していますか?

4

5 に答える 5

3

要件によって異なります。(JMS のように) キューにログを記録すると、ログ メッセージがキューに書き込まれるとすぐにログ操作を返すことができるため、オプションの柔軟性が最も高くなります。その後、別のプロセスでこれらのログ メッセージをキューから取り出して、好みのログ ストア (データベース、ファイル システムなど) に書き込むことができます。

(わずかな) 欠点は、ログ メッセージがログを記録しているシステムよりわずかに遅れることですが、これは、ファイルベースのログであっても、ほとんどの場合に当てはまります。

于 2010-03-06T14:55:36.693 に答える
2

これはやり過ぎかもしれませんが、Splunkを見たことがありますか? Java アプリの場合、私は Log4J または SLF4J を使用してファイルにログを記録しました。その後、Splunk はログを集約して検索可能にします。

于 2010-03-07T00:05:28.017 に答える
1

Log4 (Log4j?) には詳しくありませんが、データベース アペンダーはありますか? これにより、必要な集中化が実現し、ログを複製する必要がなくなります。

于 2010-03-06T14:30:24.590 に答える
0

それは本当にあなたが望むものに大きく依存します..syslogはアプリケーションのログには適していないと思いますが、インフラストラクチャのログには適しています. 詳細をあまり知らなくても、リストした 4 つのオプションはすべて問題ないように見えます。これを使用します。

于 2010-03-07T00:01:19.073 に答える
0

ところで、log4jにはAsyncAppenderがあり、キューと専用のコンシューマースレッドを使用してログを記録します

于 2011-07-27T12:50:55.740 に答える