2009-08-18 12 views
3

私は遅く実行されるアプリケーションを持っています。これは、コード内のDEBUGおよびINFOレベルで膨大な量のロギングがあるためです。私はコードをいくつか変更し、ログレベルをWARNに変更しました。LOG4Jのログファイルに最適なサイズはどれくらいですか?

ただし、ログファイルは1つだけです(現在は1.6GB)。 RollingFileAppenderを使用してより多くの小さなファイルを作成したいと考えています。パフォーマンスが低下しないように、アペンダーのMaxFileSizeプロパティに使用する最適な(最大)サイズは何ですか?

+0

これはすでに古いですが、パフォーマンスに問題がある場合は、非同期アペンダーを試してみてください –

答えて

2

これは本当に多くの要因に依存しているので、質問に答えるにはさまざまなファイルサイズのプロファイラを実行する必要があります。しかし、log4jはログファイルに書き込むだけなので、さまざまなサイズのファイルをシステム上に作成し、所要時間に時間をかけることができます。

ファイルでエラーを見つけるには、DailyRollingFileAppenderを使用することをおすすめします。これにより、「昨日」や「2週間前に」何かを探すのがずっと簡単になります。

0

小さなチャンクを使用すると、ログファイルの管理が容易になりますが、パフォーマンスは向上しません。

あなたの制限はhddだと思われます。パフォーマンスの問題の解決策の1つは、WARNレベルを1つのファイルに記録し、DEBUGとINFOを別のファイルに記録することです。理想的には、この大きなファイルを専用の高速HDDに保存することになります。

パフォーマンスの問題のもう1つの解決策は、別のパッケージへのロギングを調整することです。 2 GBのデータの解析は、特にリアルタイムで行うのが難しいため、すべてのパッケージでINFOが必要なことはほとんどありません。最小サイズの質問に

回答:

あなたのツールが問題なく処理できるほど大きくなければなりません。ログビューアを使用してログファイルを監視するとします。一部のログビューアでは、ファイルに悪影響を与えます(たとえば、10 MB以上)。しかし、再び、1 GBのログデータが1時間に生成されると、リアルタイムで見ることができません。

関連する問題