2009-10-09 2 views
9

Wo setzt Tomcat den System.out.println Ausgang?Wo druckt system.out.println von einer JSP?

Ich bin nicht interessiert an out.println. Ich verwende ein System, das system.out verwendet, um Probleme zu protokollieren, wie Login erfolgreich/fehlgeschlagen, und ich muss auf das generierte "Protokoll" schauen.

Antwort

8

Es druckt normalerweise zu catalina.out.

Es wird dringend anmelden mit System.out.println() aus mehreren Gründen unrecommended:

  • Sie nicht, welche Nachrichten protokolliert werden und welche nicht, wenn Sie den
  • catalina Code ändern steuern. out immer nur wachsen, und Sie können es nicht so bewegen, dass Tomcat einen anderen schafft.

Eine bessere Lösung ist eine der beliebtesten (und reifen) Logging Frameworks zu verwenden:

  • java.util.logging (eigentlich von Kater selbst verwendet, und Sie haben keine Dritten Abhängigkeiten)
  • Log4j

Eine gute Lösung, die von log4j unterstützt wird, ist Jak zu verwenden arta Logbuch Tag-Bibliothek, in der Sie Ihre Log-Meldungen in irgendetwas davon haben kann, bildet

<log:info message="this is a message"/> 

<log:info category="foo.bar" message="this is a message"/> 

<log:info category="foo.bar"> 
    this is a message 
</log:info> 
+1

Der Autor von Log4J verließ das Projekt und arbeitet an Logback (seit einiger Zeit), die in Kombination von Slf4j funktioniert. Beide sollten die bevorzugten Protokollierungs-Frameworks sein. – Brice

+1

@Brice Ich stimme zu, SLF4J ist meine Präferenz auch in diesen Tagen. Es hat auch eine JSP-Tag-Bibliothek, dokumentiert unter http://www.slf4j.org/taglib/ –

3

CATALINA_HOME /logs/stdout_YYYYMMDD.log

ist die Standardeinstellung, wo CATALINA_HOME ist Ihre Basis Tomcat-Verzeichnis. Es gibt verschiedene Möglichkeiten, dies programmatisch und über die Konfiguration zu ändern.

+0

$ ls/usr/local/tomcat/logs admin.2009-10-06.log catalina.2009-10-06 .log catalina.out host-manager.2009-10-06.log localhost.2009-10-06.log manager.2009-10-06.log tomcat.log In keiner dieser Dateien bemerke ich irgendeine Änderung mit a system.out.println, wo sollte diese Konfiguration sein? tnx! – Eduardo

+0

Welche Version von Tomcat verwenden Sie? – rcampbell

+0

Ich lief Tomcat 5.5 – Eduardo