Protokollierung zu Javaprogramm

erazor2106

Bekanntes Mitglied
Hallo Leute,

ich habe eine Frage zum thema Protokollierung/Logging.
Undzwar soll ich in einem bestehendem Programm das Schreiben von Log-Files realisieren.
In den einzelnen Methoden wird eine Funktion LogDateischreiben aufgerufen. Nun geht es darum diese mit Leben zu füllen. Der Funktion wird auch eine Priorität übergeben und ein Loglevel, d.h. am Anfang überprüfe ich ob diese Log-Message überhaupt dem eingestellten Log-Level entspricht.

Nun habe ich erstmal einen Filereader, welcher das gesamte bestehende Log (Textdatei) zeilenweise einliest und die neue Nachricht hinten dranhängt und es wieder alles in die Textdatei schreibt.

Das geht aber alles immer langsamer. Gibt es eine Möglichkeit eine Zeile immer nur an eine Datei hinten anzuhängen statt sie immer komplett zu verarbeiten?

Mit log4j habe ich mich noch nicht beschäftigt, wollte mir auch mal nio anschauen. Was könnt ihr empfehlen?

Viele Grüße erazor
 
Für die Schule: Selber schreiben
Für "echte" Projekte: Etwas nehmen das es schon gibt & das funzt, wie zB. log4j oder logback, letzteres ist neuer.
 
Ich verwende gern slf4j mit logback.

Nun habe ich erstmal einen Filereader, welcher das gesamte bestehende Log (Textdatei) zeilenweise einliest und die neue Nachricht hinten dranhängt und es wieder alles in die Textdatei schreibt.

Das geht aber alles immer langsamer. Gibt es eine Möglichkeit eine Zeile immer nur an eine Datei hinten anzuhängen statt sie immer komplett zu verarbeiten?
Du kannst dem FileReader als zweiten Parameter true mitgeben, dann wird neuer Content immer hinten angehängt, ohne dass du das händisch machen musst.
 
Danke für eure schnellen Antworten. Das mit dem append=true war ein guter Tipp.
Der Durchlauf des Programms dauert mit der Variante einlesen und schreiben 40 Minuten, nun nur noch 3 :applaus: :applaus: :applaus:
 

Neue Themen


Zurück
Oben