私の現在のプロジェクトでは、ログ出力に Log4j を使用していますが、websphere 7 に展開すると、ログ ファイルが常にサーバーによって占有されているように見えるため、Log4J はそれを閉じて新しいファイルを開くことができません。DEBUG レベルの場合、現在のログ ファイルは 1.5 Gb まで拡張できます。いくつかのオンライン チュートリアルを実行しましたが、確かな解決策が得られませんでした。そのため、log4J を WS 7 で動作させることに関する意見や経験については、このスレッドを開きます。
現在の log4J は 1.2.15 であり、プロジェクトは他のコンテナーのないプレーンな POJO/JSP アプリケーションです (Spring のように、Spring/Tomcat で同じ問題を抱えた別のプロジェクトがあり、別のスレッドで開きます)。log4j.properties は次のとおりです。
log4j.rootCategory=INFO, ROL
#
# Rolling File Appender
#
log4j.appender.ROL=org.apache.log4j.RollingFileAppender
log4j.appender.ROL.Encoding=UTF-8
log4j.appender.ROL.File=C\:\\Logs\\AppOut.log
log4j.appender.ROL.MaxFileSize=10000KB
log4j.appender.ROL.MaxBackupIndex=10
log4j.appender.ROL.layout=org.apache.log4j.PatternLayout
log4j.appender.ROL.layout.ConversionPattern=%d -- %p -- %c -- %m%n
ただし、この構成では、ログ ファイルがロールオーバーされません。
アップデート:
アプリケーション(サーバーではなく)を停止した後にログファイルを削除しようとするたびに、Websphereのみを参照する「ファイルは別のアプリケーションによって開かれています」と常に言われているようです。他のアプリケーションがログ ファイルを開いていないことを保証できます。ロックを解除する唯一の方法は、を停止することapplication server
です。
アイデアをお寄せいただきありがとうございます。