Logging

Status
Nicht offen für weitere Antworten.

thecrow

Mitglied
Hi ihr,

ich habe folgende Idee:

Ich würde gerne einen Loggingmechanismus mit Log4J entwickeln, der Loggingeinträge erstmal sammelt, bevor sie ausgegeben werden.

Will heissen:

Ich starte meinen Logger mit z.B. log.start
Dann logge ich meine Daten n-mal etc. heraus .log("blafasel")
und erst wenn ich z.B. ein log.commit mache, werden die Daten allesamt herausgeloggt.
Wenn ich diesen Logsammler beende mit z.b. log.end dann werden alle Logeinträge ohne Ausgabe einfach verworfen.

Habt ihr sowas schonmal in der Art gesehen oder befinde ich mich hier auf völligem Neuland ?

Danke für eure Antworten

Andi
 

nollario

Bekanntes Mitglied
das hört sich nach neuland an und klingt mehr wie das transaktionsprinzip bei datenbank (also auch der jdbc spezi.)... warum sollte man log einträge vorhalten und nicht ausgeben? dafür nutzt du doch normalerweise log levels...?
 

thecrow

Mitglied
Hi,

es ist dann sinnvoll, wenn du Daten hast, die du im Normfall nicht im Log haben möchtest, aber im Fehlerfall brauchst um den Fehler zu finden und zu beheben.

Stichwort: persönliche Daten
 
B

bygones

Gast
mir ist kein Mechanismus bekannt der die Daten erst sammelt. Sowohl log4j als auch der SDK Logger loggen direkt...
aber wie nollario schon meint - warum arbeitest du nicht mit versch. Log-Leveln...
 

nollario

Bekanntes Mitglied
tja, persönliche daten... könntest du natürlich verschlüssel mitloggen... sowas mach ich hier auch... ist halt umständlich, aber ich komm wieder dran und ausserdem ist datenschutz gewährleistet... so gesehen find ich die idee ganz gut, aber logging sollte in meinen augen straightforward sein - also alles direkt ab ins log!
 
B

bygones

Gast
stimme wieder nollario zu :)
Logging sollte sofort geschehen - das ist das eigentliche Prinzip des loggens... ansonsten kannst du ja alles andersweitig speichern und dann bei bedarf ausgeben.... aber ich wüsste nicht, dass die bestehenden log Verfahren das unterstüzten
 

thE_29

Top Contributor
er könnte normal mitloggen und sich für seine "wünsche" eine kleine Hilfsklasse schreiben, die einfach nur die Strings sammelt (mit seinen befehlen halt) und bei log.commit geht er in einer schleife seine strings (würd sie in einer liste/collection/... abspeichern) durch und übergibt sie dann einzeln dem Logger!
 

nollario

Bekanntes Mitglied
noch ein problem:

logging dient ja der fehlersuche (u.a.)... stell dir vor, deine vm macht dicht und du hast ne zeitlang nix mehr committed - es fehlen dir die entscheidenden infos um auf den fehler rückschlüsse machen zu können
 

akira

Bekanntes Mitglied
Hi,

ich hatte schon mal so einen ähnliche Idee.
Das Problem bei debug-Logs sind, daß sie unter Umständen sehr schnell sehr groß werden können.
Wir hatten auf Arbeit neulich auch das Problem, daß ein 2GB-Logfile nicht mehr mir einem Editor geöffnet werden konnte :)
Ich hatte mir deswegen auch schonmal einen Mechanismus überlegt, so daß alle Ausgaben auf dem debug-Level erstmal im Speicher gehalten werden und nur geloggt werden, wenn ein Fehler aufgetreten ist um diesen später zu analysieren.
 

thE_29

Top Contributor
deswegen kann man mit dem SDK Logger auch einstellen wie groß eine Datei und wieviel Generationen es geben soll!

Bleistift!

max 10 MB und 10 generationen, dann heißen deine Files

log0.log bis log10.log und haben max. 10 MB und das erledigt alles der SDK Logger, da hast du dann auch keien 2GB Files....
 

nollario

Bekanntes Mitglied
bei log4j funktioniert es ähnlich - also keine gefahr dass die festplatte mit gb grossen dateien zu gebombt wird! ;-)
 

akira

Bekanntes Mitglied
Ok, das ist sicher eine Lösung für das Problem mit den zu großen Dateien, die nicht mehr zu öffnen sind.
Bei einer Aufteilung auf mehrere Dateien, bleibt die Gesamtgröße jedoch trotzdem einige GB.

Ich dachte eher daran bei erfolgreichen Routinen erst gar keine debug-Ausgaben zu loggen, sondern nur z.B. die letzten 100 im Speicher zu halten. Tritt nun ein Fehler auf, werden die im Speicher befindlichen debug-Ausgaben vor dem Fehler geloggt.
 

thecrow

Mitglied
Ansich keine schlechte Idee mit dem Loglevel.

Der Fehler ist halt leider schon weg, wenn ich das Loglevel umswitche.
So habe ich ihn auch bei einem "schwachen" Loglevel.

Natürlich immer vorausgesetzt, die Entwickler benutzen das Teil richtig :bae:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
8u3631984 Strukturiertes Logging : Jedes Feld in eine seperate Zeile - aber wie ? Allgemeine Java-Themen 2
T Logging mit org.apache.logging.log4j Allgemeine Java-Themen 1
MiMa Logging mit log4j2 in verschiedene Dateien? Allgemeine Java-Themen 22
S Input/Output Jave.utill.logging ohne Default-Locale also in Englisch Allgemeine Java-Themen 3
A Automatisches Methoden Laufzeiten logging? Allgemeine Java-Themen 7
M JVM: Client Software Logging und Profiling aktivieren Allgemeine Java-Themen 1
AssELAss Log4j Logging Ausgabe für jede Klasse in seperates File Allgemeine Java-Themen 2
P Logging levels Allgemeine Java-Themen 2
X Logging Messages - mehr Details? Allgemeine Java-Themen 4
F Error Logging - best practices? Allgemeine Java-Themen 3
L util.logging Log Rotation Allgemeine Java-Themen 3
W Java Logging Problem Allgemeine Java-Themen 3
H java.util.logging Formatter Optionen setzen Allgemeine Java-Themen 2
D Logging XMLFormatter Allgemeine Java-Themen 3
B OOP java.util.logging.Logger: Wie kann ich mehre Klassen in ein Logfile schreiben lassen? Allgemeine Java-Themen 12
D Technologiefragen, logging, JMX Allgemeine Java-Themen 3
S Tomcat java.util.logging - keine Logs Allgemeine Java-Themen 12
J Logging mehrerer Methoden Allgemeine Java-Themen 21
S log4j - doppeltes Logging Allgemeine Java-Themen 4
B Logging von Exceptions Allgemeine Java-Themen 7
S log4j Logging über mehrere Klassen Allgemeine Java-Themen 13
P SLF4J Logging Level einstellen Allgemeine Java-Themen 2
DamienX Google Guice AOP + Logging Allgemeine Java-Themen 3
T CP Problem: Webstart + Logging properties file + eigener Handler Allgemeine Java-Themen 7
A java logging api scheint nicht thread save zu sein Allgemeine Java-Themen 22
T Java Logging API in Multi Threaded API Allgemeine Java-Themen 2
P fehlende Mehrfachvererbung logging.Handler impl. Observable Allgemeine Java-Themen 5
M Verbieten Applets die Nutzung von Commons Logging? Allgemeine Java-Themen 7
F Java logging Allgemeine Java-Themen 4
F Java logging Leerzeile als Standardeinstellung Allgemeine Java-Themen 4
S Java logging konfigurieren? Allgemeine Java-Themen 5
DEvent log4j, commons logging, log4j.properties and co Allgemeine Java-Themen 12
J Logging Allgemeine Java-Themen 10
J Log4j / commons-logging Allgemeine Java-Themen 3
K Logging mit Log4j Allgemeine Java-Themen 2
G Logging Allgemeine Java-Themen 4
S Logging mit log4j Allgemeine Java-Themen 17
S Logging Allgemeine Java-Themen 9
M Rat gesucht: Logging (log4J oder java.util.logging oder .) Allgemeine Java-Themen 5
T Transaction Logging Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben