Log4jを正しく構成するのに問題があります。次のように構成すると、Log4jが深夜にcatalina.outファイルをローテーションすることを期待していました
。log4j.properties:
log4j.rootLogger=INFO, CATALINA
# Define all the appenders
log4j.appender.CATALINA=org.apache.log4j.DailyRollingFileAppender
log4j.appender.CATALINA.File=/var/log/tomcat7/catalina.out
log4j.appender.CATALINA.Append=true
log4j.appender.CATALINA.Encoding=UTF-8
# Roll-over the log once per day
log4j.appender.CATALINA.DatePattern='.'yyyy-MM-dd-HH-mm'.log'
log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout
log4j.appender.CATALINA.layout.ConversionPattern =%d{HH:mm:ss} %5p [%t] - %m%n
構成後、Tomcatを再起動すると、すべてが次のように書き込まれます。
/var/log/tomcat7/catalina.out
構成をテストするために、現在の日時を23:59:59のように変更しました。
#ls -l /var/log/tomcat7/
-rw-r--r-- 1 tomcat7 tomcat7 5840 4. May 00:00 catalina.out
ご覧のとおり、真夜中に回転しませんでした...(?)
Tomcatを再起動すると、完全に正常に機能します。
#ls -l /var/log/tomcat7/
-rw-r--r-- 1 tomcat7 tomcat7 5840 4. May 13:37 catalina.out
-rw-r--r-- 1 tomcat7 root 2395 4. May 00:00 catalina.out.*CURRENTDATE*.log
Tomcatを再起動せずにログファイルをローテーションすることも可能ですか?
よろしくお願いします、マーリー