2009-07-18 13 views
39

Ich habe eine Standard-Tomcat-Installation ohne Änderung der Protokollierungskonfiguration. Die Protokolldateien (insbesondere catalina.out) scheinen korrekt (täglich) gerollt zu werden.catalina.out Rollen mit Tomcat 6.0

Aber genauso wie die täglichen Protokolle gibt es auch eine catalina.out-Datei, die einfach weiter wächst. Das muss ich beheben, dh ich muss es täglich löschen (oder es nach Möglichkeit entfernen)

Kann mir jemand erklären, was hier vor sich geht und die beste Strategie zur Kontrolle der Protokolldateigröße?

Nur um zu klären der Ausgang gleichzeitig

-rw-r--r-- 1 solr solr 90920663 Jul 18 01:16 logs/catalina.2009-07-18.log 
-rw-r--r-- 1 solr solr  238010 Jul 18 01:16 logs/catalina.out 

swallowOutput Einstellung scheint keinen Unterschied catalina.out und das tägliche Protokoll geschrieben wird.

Die Anwendung, die unter Tomcat ausgeführt wird, ist solr, falls relevant.

+1

Das erste "catalina.out" Vorkommen ist wahrscheinlich falsch. Es ist "catalina.log", das täglich gedreht wird. – ceztko

Antwort

65

Fixed it, stellt sich heraus, die Standard-Logging-Konfiguration definiert eine Datei-Logger und auch eine Konsole Logger. Der Datei-Logger geht zum täglichen Catalina-Log und der Konsolen-Logger schreibt nach catalina.out.

Fix war in conf/logging.properties zu ändern:

.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler 

zu

.handlers = 1catalina.org.apache.juli.FileHandler 

Das hält alles geschrieben bedürftig catalina.out

+0

Gut zu wissen - danke für das Update. – ars

+9

Ich wollte nur erwähnen, dass dies nicht eine Anwendung nicht aufhören, die so etwas wie dies in ihrer log4j.properties Datei angibt: log4j.rootLogger = DEBUG, stdout, Logfile noch in catalina.out erhalten Diejenigen deponiert stdout und platziert. Nur etwas zu sehen ... –

+0

Wohin gehen die Protokolle, wenn nicht angemeldet catalina.out? Ich verweise catalina.out hauptsächlich zum Debuggen und brauche diese Logs. –

4

Hallo Sie können versuchen, diese Lösung

http://java.dzone.com/articles/how-rotate-tomcat-catalinaout

Es verwendet einen Cronjob (logrotate), um Ihre catalina.out zu kopieren, zu komprimieren und zu säubern. Wenn Sie einen Blick auf logrotate werfen, werden Sie sehen, dass es eine Menge zusätzlicher Funktionalität hat. Es stört die täglichen Protokolle nicht, es sei denn, Sie konfigurieren es so. Ich fand es hilfreich, wenn ich mit dem gleichen Problem konfrontiert wurde.

Das Entfernen des Konsolenhandlers wirkt sich nur auf die von Tomcat erzeugten Nachrichten aus.

+1

Wenn ich '/ usr/sbin/logrotate/etc/logrotate.conf' nach der Konfiguration von'/var/log/tomcat/catalina.out' noch immer ausfühle, löst es nicht mein Problem, die 'catalina.out' Datei zu rotieren –

+0

Another Ding wird das täglich rotieren. Was passiert, wenn ich rotieren möchte, wenn die Größe der Protokolldatei die maximal zugewiesene Größe erreicht? –

1

Ich hatte das gleiche Problem auf Ubuntu 11.04 SOLR-Server und Catalina.out-Datei war fast 1 GB. Nach

Ändern logging.properties:

.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

zu

. handlers = 1catalina.org.apache.juli.FileHandler

Das

Sie logging.properties Datei auf /etc/tomcat6/ Ordner für Ubuntu Linux finden können catalina.out nicht mehr anmelden.

0

Ich bemerkte auch meine Tomcat Log-Ordner (/usr/local/tomcat/logs) war ziemlich riesig. Um die Größe des Protokollordners zu prüfen, machen Sie folgendes: du -hs /usr/local/tomcat/logs/. Um dieses Problem zu lösen, richten Sie einen Cron ein, der die Dateien jede Nacht bereinigt, oder Sie können diese Befehle manuell ausführen. Hier ist die Shell-Skript, die Dateien löschen würde, die 5 Tage älter

#!/bin/sh 
find /usr/local/tomcat/logs -name 'catalina.*.log' -mtime +5 -print0 | xargs -0 rm -f 
find /usr/local/tomcat/logs -name 'localhost_access_log.*.txt' -mtime +5 -print0 | xargs -0 rm -f 
0

Sie die von configure Ihre catalina.out Datei drehen kann: -

Schritte: -

  • 1) Goto /etc/logrotate.d und erstellen Datei tomcat

  • 2) Fügen Sie unter der Zeile

  • Drehen nach Größe

/opt/OS/OS2/logs/catalina.out {
copytruncate
täglich
drehen 30
Kompresse
missingok
Größe 20M
}

- Größe - Sicherung catelina.out, wenn Größe größer als 20MB ist

OR

  • Rotate by Date

/opt/deadpool/apache-tomcat/logs/catalina.out {

copytruncate

dateext

täglich

drehen 30

Kompresse

missingok

}

  • drehen - Speicher letzte 30 Dreh
  • dateext - backup catelina.out tägliche
  • täglich - Rotation täglich
  • Kompresse - Rotation in Kompressenform
  • missingok - wenn etwas in Rotation fehlt wird es keine impect

3) Starten Sie den Server

Seine Arbeit für mich schaffen :) Hope this jemand helfen.

Danke :)

Verwandte Themen