2009-08-18 15 views
3

Ich habe eine Anwendung, die langsam läuft. Dies ist wegen einer großen Menge an Logging bei DEBUG und INFO Ebenen innerhalb des Codes. Ich habe einige Änderungen im Code vorgenommen und den Log-Level in WARN geändert und es funktioniert jetzt gut.Was ist die beste Größe für eine Logdatei in LOG4J?

Aber es gibt nur eine Protokolldatei (derzeit bei 1,6 GB). Ich möchte einen RollingFileAppender verwenden, um mehr, kleinere Dateien zu haben. Was ist die beste (maximale) Größe, die ich für die MaxFileSize-Eigenschaft des Appenders verwenden sollte, damit die Leistung nicht beeinträchtigt wird?

+0

Es ist schon lange her, aber wenn Sie Leistungsproblem haben, möchten Sie vielleicht einen asynchronen Appender versuchen –

Antwort

2

Das hängt von vielen Faktoren ab. Um die Frage zu beantworten, müssten Sie einen Profiler mit verschiedenen Dateigrößen ausführen. Da log4j jedoch nur in die Protokolldatei schreibt, können Sie einfach Dateien unterschiedlicher Größe auf Ihrem System erstellen und die benötigte Zeit angeben.

Um Fehler in der Datei finden zu können, schlage ich vor, eine DailyRollingFileAppender zu verwenden. Dies wird es viel einfacher machen, nach etwas "gestern" oder "vor zwei Wochen" zu suchen.

0

Wenn Sie kleinere Chunks verwenden, werden Ihre Protokolldateien leichter zu verwalten, die Leistung wird jedoch nicht verbessert.

Es scheint, dass Ihre Beschränkung die Festplatte ist. Eine Lösung für das Leistungsproblem wäre, WARN-Level in einer Datei und DEBUG und INFO in einer anderen Datei zu protokollieren. Im Idealfall würde diese größere Datei auf einer dedizierten schnellen Festplatte gespeichert werden.

Eine andere Lösung für das Leistungsproblem wäre, die Protokollierung auf ein anderes Paket zu optimieren. Sie benötigen nur selten INFO für alle Pakete, da das Analysieren von 2 GB Daten schwer zu tun ist, besonders in Echtzeit.

Antwort auf die kleinste Größe Frage:

Es sollte so groß sein wie Ihre Werkzeuge ohne Probleme verarbeiten kann. Angenommen, Sie verwenden einen Protokoll-Viewer, um die Protokolldatei anzuzeigen. Einige Protokoll-Viewer funktionieren bei Dateien, die größer als 10 MB sind, schlecht. Aber, wieder, auf 1 GB Protokolldaten, die in ... 1 Stunde vielleicht erzeugt werden, werden Sie nicht in der Lage sein, es in Echtzeit zu sehen.

Verwandte Themen