3

Tomcat 6のWindowsインストールを使用しています。デフォルトでは、アプリのlog4j出力は${catalina.base}/logs/stdout_.logファイルに送られます。このログファイルは、Tomcatを再起動したときにのみロールオーバーされ、ファイル名には常に日付が含まれます。

DailyRollingFileAppenderのように動作して、ロールオーバー時にファイルの名前を変更することをお勧めします。そうすれば、Notepad ++を開いて今日のログを確認できます。これは、Notepad++が昨日同じファイルを開いたことを記憶しているためです。:)

log4jに別のアペンダーを作成できることはわかっていますが、最終的にはstdout.logと別のログファイルになり、両方のファイルにログを記録するとパフォーマンスがわずかに低下するのではないかと心配しています。swallowOutput = trueをcontext.xmlに追加しようとしましたが、それでもすべてのログがstdout.logに記録されます。何か案は?

4

2 に答える 2

0

Tomcatへのログインで概説されている手順を試しましたか?手順に従うと、libディレクトリにlog4j.propertiesが作成され、心ゆくまでカスタマイズできます。

于 2010-01-06T19:09:23.287 に答える
0

パフォーマンスに最大の影響を与えるのは、ログに記録するオブジェクトを準備するときです(ログに記録するときはlogger.info(" operating on " + myObject.toString + " bla bla bla" )、実行myObject.toString()するのに最大のコストがかかります)。あなたがすでにそれらを持っているなら、ファイルにログインすることは問題ではありません。また、log4jは非常にバランスが取れており、最適化されています。バッファを使用してログを書き込むため、ファイルシステムを頻繁に呼び出すことはありません。

別のアペンダーを作成するだけで、Tomcatログやアプリケーションログとは異なります。ログはいくつありますか?パフォーマンスの低下を恐れている1日1GB以上ですか?テストする前に何も想定しないでください。セットアップするだけで、ある種のパフォーマンステストを実行できます。

于 2010-11-30T13:43:22.360 に答える