Frage

Wir die Windows-Installation von Tomcat verwenden 6. Standardmäßig geht der log4j-Ausgang für unsere App auf die $ {} catalina.base /logs/stdout_.log Datei. Diese Protokolldatei rollt nur über, wenn wir Tomcat neu starten, und der Dateiname enthält immer das Datum an.

Ich würde es vorziehen, es wie ein DailyRollingFileAppender zu verhalten, wo es die Datei umbenennt, wenn es über rollt ... so kann ich nur offen Notepad ++ und heutigen Protokolle sehen, da Notepad ++ wird sich erinnern, dass ich das gleiche Datei gestern geöffnet. :)

Ich weiß, ich kann einfach ein anderen appender in log4j schaffen, aber ich würde mit den stdout.log und anderen Protokolldatei am Ende, und ich bin es, Angst zu beiden Dateien eine kleine Performance-Einbußen für die Anmeldung wäre. Ich habe versucht, indem swallowOutput = true meine context.xml aber ich bekomme immer noch alle in stdout.log anmelden. Irgendwelche Ideen?

War es hilfreich?

Lösung

Haben Sie versucht, skizziert die Schritte in Logging in Tomcat ? Wenn Sie die Schritte, werden Sie mit log4j.properties im Verzeichnis lib landen, die Sie Herzenslust anpassen können.

Andere Tipps

Die größte Leistung getroffen ist, wenn Objekte vorbereitet, die Sie protokollieren möchten (Sie wissen, wenn Sie dann tun logger.info(" operating on " + myObject.toString + " bla bla bla" ) myObject.toString() tun hat die größten Kosten). Wenn Sie diese bereits als loggin zu Datei haben, ist das kein Problem. Und log4j ist wirklich gut ausgewogen und optimiert, es Puffer verwendet Protokolle zu schreiben, so dass es nicht machen zu häufige Anrufe System Datei.

Just another appender erstellen, erhalten Sie eine Differentiation von tomcat Protokolle haben und Ihre appilcation Protokolle. Wie viele Protokolle haben Sie? Ein 1 GB pro Tag oder mehr, dass Sie Angst vor Leistungsverlust sind? Gehen Sie nicht davon nichts, bevor es zu testen. Nur Set-up und eine Art von Performance-Test tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top