为什么tomcat7logincatalina.out和catalina.YYYY-MM-DD.log?

在OpenBSD 5.2上,tomcat-7.0.29的默认安装似乎将所有错误都logging到catalina.outcatalina.YYYY-MM-DD.log

 Cns# ll /var/tomcat/logs/catalina.* -rw-r--r-- 1 _tomcat _tomcat 3067 Jan 16 20:47 /var/tomcat/logs/catalina.2013-01-16.log -rw-r--r-- 1 _tomcat _tomcat 1313285 Jan 17 21:47 /var/tomcat/logs/catalina.2013-01-17.log -rw-r--r-- 1 _tomcat _tomcat 19668 Jan 18 17:33 /var/tomcat/logs/catalina.2013-01-18.log -rw-r--r-- 1 _tomcat _tomcat 2479 Jan 23 15:25 /var/tomcat/logs/catalina.2013-01-23.log -rw-r--r-- 1 _tomcat _tomcat 1580 Jan 26 22:58 /var/tomcat/logs/catalina.2013-01-26.log -rw-r--r-- 1 _tomcat _tomcat 48165 Jan 27 19:30 /var/tomcat/logs/catalina.2013-01-27.log -rw-r--r-- 1 _tomcat _tomcat 34526 Jan 28 16:41 /var/tomcat/logs/catalina.2013-01-28.log -rw-r--r-- 1 _tomcat _tomcat 141985 Jan 29 23:56 /var/tomcat/logs/catalina.2013-01-29.log -rw-r--r-- 1 _tomcat _tomcat 123254 Jan 30 23:25 /var/tomcat/logs/catalina.2013-01-30.log -rw-r--r-- 1 _tomcat _tomcat 145209 Jan 31 22:30 /var/tomcat/logs/catalina.2013-01-31.log -rw-r--r-- 1 _tomcat _tomcat 2615 Feb 1 09:01 /var/tomcat/logs/catalina.2013-02-01.log -rw-r--r-- 1 _tomcat _tomcat 10068 Feb 2 19:18 /var/tomcat/logs/catalina.2013-02-02.log -rw-r--r-- 1 _tomcat _tomcat 50541 Feb 3 23:49 /var/tomcat/logs/catalina.2013-02-03.log -rw-r--r-- 1 _tomcat _tomcat 17519 Feb 4 21:29 /var/tomcat/logs/catalina.2013-02-04.log -rw-r--r-- 1 _tomcat _tomcat 1158 Feb 5 22:18 /var/tomcat/logs/catalina.2013-02-05.log -rw-r--r-- 1 _tomcat _tomcat 179466 Feb 6 23:51 /var/tomcat/logs/catalina.2013-02-06.log -rw-r--r-- 1 _tomcat _tomcat 14585534 Feb 7 14:15 /var/tomcat/logs/catalina.2013-02-07.log -rw-r--r-- 1 _tomcat _tomcat 16680119 Feb 7 14:15 /var/tomcat/logs/catalina.out 

(请注意, catalina.YYYY-MM-DD.log的总文件大小与catalina.YYYY-MM-DD.log大致相同,并且日志确实重复。)

有没有办法让它只logging到catalina.YYYY-MM-DD.log ,而不是catalina.out

    在阅读http://tomcat.apache.org/tomcat-7.0-doc/logging.html的一些信息之后,似乎从/etc/tomcat/logging.properties注释掉或删除了java.util.logging.ConsoleHandler所有提及/etc/tomcat/logging.properties应该做的伎俩。

    之后,不知何故文件仍然被tomcat( stdoutstderr )打开,但似乎没有任何东西被夸大了。

     Cns# stat /var/tomcat/logs/catalina.out 1136 3949577 -rw-r--r-- 1 _tomcat _tomcat 15763648 16695929 "Feb 7 14:58:46 2013" "Feb 7 14:58:37 2013" "Feb 7 14:58:37 2013" 16384 32672 0 /var/tomcat/logs/catalina.out Cns# fstat | fgrep -e USER -e 3949577 USER CMD PID FD MOUNT INUM MODE R/W SZ|DV _tomcat java 8994 1 /var 3949577 -rw-r--r-- w 16695929 _tomcat java 8994 2 /var 3949577 -rw-r--r-- w 16695929 Cns# 

    Tomcat wiki支持两种可能的解决scheme:

    • 阻止应用程序使用日志框架loginSystem.outSystem.err
    • 禁止通过swallowOutput捕获它。 System.out在哪里去? 前两步的指导如何做到这一点。

    另外还有一个关于滚动的说法。 我如何旋转catalina.out?