Wie benutzt man Log4j um stdout und stderr in eine Datei zu schreiben / zu erfassen und Windows und Tomcat 5.5 (Java) zu verwenden?

8

Ich verwende zu Ihrer Information Windows 2008 R2 und Apache Tomcat 5.5.

STDOUT und STDERR können automatisch über die Apache Tomcat-Eigenschaften über den Logging-Tab - & gt; Redirect Stdout und Umleiten Stderror Textfelder.

Aber ich möchte das über log4j steuern.

Ich versuche, ConsoleAppender und die Klasse TimeAndSizeRollingAppender zu nutzen Rollover, was normalerweise von der angeborenen Protokollierung von Apache Tomcat gesteuert wird.

Grundsätzlich, Tomcat leitet jedoch stdout und stderr in eine Datei um, ich möchte dasselbe mit log4j und der Datei log4j.properties machen.

Ich habe etwas auf dieser Seite gegraben und andere wie diese ( log4j redirect stdout zu DailyRollingFileAppender ) und dieser ( Ссылка ), aber ich stoße auf ein paar grundlegende Probleme:

  1. Wie kompiliere ich eine dieser Klassen? Was sollte der Klassenpfad sein? Ich habe versucht, die Klasse von der sysgears Verbindung zu kompilieren, aber es gab 7 Fehler zurück, wie das Symbol Class Logger und das Symbol Class OutputStream nicht finden können.

  2. Wie kann ich nach dem Kompilieren speziell aus dem sysgears-Link die Klasse verwenden? Es gibt an, die Klasse zu verwenden, schreiben Sie einfach:

    System.setErr (neuer PrintStream (neuer LoggingOutputStream (     System.err, Logger.getLogger ("outLog"), Level.ERROR)));

Großartig, aber wo schreibe ich es? In einer separaten Datei? Tomcat Eigenschaften?

Ich würde jede Hilfe zu schätzen wissen.

Vielen Dank für Ihre Zeit.

Aktualisierung:

Hier ist meine vollständige log4j.properties-Datei:

%Vor%     
user717236 20.04.2011, 14:02
quelle

2 Antworten

3
  

1) Wie kompiliere ich eine dieser Klassen? Was sollte der Klassenpfad sein? Ich habe versucht, die Klasse von der sysgears Verbindung zu kompilieren, aber es gab 7 Fehler zurück, wie nicht finden, Symbol Class Logger und Symbol Class OutputStream.

Sie müssen das log4j jar in Ihrem Klassenpfad haben und die richtigen Klassen am Anfang Ihrer Datei importieren. Etwas wie,

%Vor%     
sbridges 20.04.2011 14:50
quelle
3

Sie können dies mit einem Appender erreichen:

%Vor%

Verwenden Sie dann diesen Appender mit Ihrem Logger, zum Beispiel:

%Vor%

Natürlich können Sie das Ziel auch anders verwenden, vielleicht mit System.err

Ich hoffe, es hilft.

Prost, Christ

    
Christian 21.04.2011 10:52
quelle

Tags und Links