2009-07-18 10 views
39

Mam domyślną instalację tomcat bez zmiany konfiguracji logowania. Pliki dziennika (w szczególności catalina.out) wydają się być poprawnie zwinięte (codziennie).catalina.out rolling with Tomcat 6.0

Jednak oprócz dziennych dzienników istnieje również plik catalina.out, który wciąż rośnie. To jest to, co muszę naprawić, tzn. Czy jest ono czyszczone codziennie (lub całkowicie je usuwać).

Czy ktoś może wyjaśnić, co się tutaj dzieje i najlepszą najlepszą strategię kontrolowania tego rozmiaru pliku logu?

prostu do wyjaśnienia wyjście zapisywany jest catalina.out a dzienne jednocześnie

-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 

Ustawianie swallowOutput wydaje się nie robi żadnej różnicy.

Aplikacja uruchamiana pod tomcat to solr w przypadku, gdy jest to istotne.

+1

Pierwsze wystąpienie "catalina.out" jest prawdopodobnie błędne. To "catalina.log", które jest codziennie obracane. – ceztko

Odpowiedz

65

Naprawiono, okazuje się, standardowa konfiguracja logowania definiuje rejestrator plików, a także rejestrator konsoli. Rejestrator plików przechodzi do dziennego dziennika catalina, a rejestrator konsoli zapisuje dane do catalina.out.

Fix była zmiana w conf/logging.properties:

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

do

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

który zatrzymuje nic napisane dotarcie do catalina.out

+0

Dobrze wiedzieć - dzięki za aktualizację. – ars

+9

Chciałem tylko wspomnieć, że w ten sposób nie zatrzymać aplikację, która określa coś takiego w swoim pliku log4j.properties: log4j.rootLogger = DEBUG, stdout, logfile Ci jeszcze wrobieni do stdout i umieszczone w catalina.out. Po prostu coś do oglądania ... –

+0

Skąd się biorą dzienniki, jeśli nie jesteś zalogowany? Catalina.out? Głównie polecam catalina.out do debugowania i potrzebuję tych dzienników. –

4

Cześć może chcesz spróbować rozwiązanie

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

Używa cronjob (logrotate) do kopiowania, kompresowania i czyszczenia swojego catalina.out, a jeśli spojrzysz na logrotate, zobaczysz, że ma on wiele dodatkowych funkcji. Nie koliduje z dziennikami, chyba że je skonfigurujesz. Znalazłem to pomocne, gdy miałem do czynienia z tym samym problemem.

BTW usunięcie konsoli obsługuje tylko wiadomości wyprodukowane przez Tomcat.

+1

Po uruchomieniu '/ usr/sbin/logrotate/etc/logrotate.conf' po skonfigurowaniu'/var/log/tomcat/catalina.out' nadal nie rozwiązuje on mojego problemu z obróceniem pliku 'catalina.out' –

+0

Rzecz w tym, że będzie się obracać codziennie. Co zrobić, jeśli chcę obrócić w czasie, gdy rozmiar pliku dziennika osiągnie maksymalny przydzielony rozmiar? –

1

Miałem ten sam problem na systemie Ubuntu 11.04 SOLR, a plik catalina.out miał prawie 1 GB. Po

zmieniających logging.properties:

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

do

. obsługuje = 1catalina.org.apache.juli.FileHandler

który zatrzymuje zalogowaniu do catalina.out

można znaleźć logging.properties plik na /etc/tomcat6/ folderu na Ubuntu Linux.

0

Zauważyłem również, że mój folder z logiem tomcat (/usr/local/tomcat/logs) był dość duży. Aby sprawdzić rozmiar folderu dziennika, wykonaj następujące czynności: du -hs /usr/local/tomcat/logs/. Aby rozwiązać ten problem, skonfiguruj cron, który czyścił pliki co noc lub możesz uruchamiać te polecenia ręcznie. Oto skrypt, który będzie usuwać pliki, które są 5 dni starsza

#!/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

można obrócić plik catalina.out przez configure: -

kroki: -

  • 1) goto /etc/logrotate.d i Utwórz plik tomcat

  • 2) Wklej poniżej linii

  • Obrót o wielkości

/opt/OS/OS2/logs/catalina.out {
copytruncate
dziennie
obracania 30
kompres
missingok
wielkość 20M
}

- rozmiar - kopia zapasowa catelina.out jeśli rozmiar jest większy niż 20MB

lub

  • Obrót o Data

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

copytruncate

dateext

dziennie

obracać 30

kompres

missingok

}

  • Obrót - Zapisz ostatni 30 rotacja
  • dateext - backup catelina.out codziennie
  • codziennie - Obrót codziennie
  • kompres - obrót w formie kompresu
  • missingok - jeśli czegoś brakuje w rotacji stworzy żadnego impect

3) zrestartować serwer

swojej pracy dla mnie :) nadzieję, że pomoże ktoś.

Dziękuję :)