web-dev-qa-db-fra.com

Pourquoi Tomcat7 se connecte-t-il à la fois à catalina.out et catalina.YYYY-MM-DD.log?

Sur OpenBSD 5.2, l'installation par défaut de Tomcat-7.0.29 semble consigner toutes les erreurs dans les deux catalina.out et catalina.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

(Notez la taille totale des fichiers de catalina.YYYY-MM-DD.log est à peu près la même chose que catalina.out, et les journaux semblent dupliqués.)

Existe-t-il un moyen de le faire se connecter uniquement à catalina.YYYY-MM-DD.log, et non dans catalina.out?

21
cnst

Après avoir lu quelques informations sur http://Tomcat.Apache.org/Tomcat-7.0-doc/logging.html , il semble que commenter ou supprimer toutes les mentions de Java.util.logging.ConsoleHandler de /etc/Tomcat/logging.properties devrait faire l'affaire.

Après cela, le fichier est toujours ouvert pour l'écriture par Tomcat (comme stdout et stderr), mais il ne semble plus être gonflé avec quoi que ce soit.

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#
11
cnst

Il existe deux solutions possibles prises en charge par le wiki Tomcat:

  • Empêcher l'application de se connecter System.out ou System.err en utilisant des cadres de journalisation.
  • Supprimez la capture par swallowOutput. Où va System.out? Les deux premières étapes de instruction comment faire cela.

en outre, une remarque sur le roulement. Comment faire pivoter catalina.out?

0
adamski.pro