Erste Schritte Log4J Fragen

lam_tr

Top Contributor
Hallo zusammen,

ich versuche gerade Log4J ein bisschen besser zu verstehen und hänge noch an ein paar Stellen. Bisher habe ich Spring Boot gemacht, da passiert aber so viel automatisch.

Ich habe so einige Dokumentation gelesen, aber das meiste ist immer so allgemein geschrieben oder ich habe noch nicht die richtigen gefunden.

Jetzt bin ich auf dem Weg alles manuell zu machen und habe da einige Fragen:
  • Wenn Log4J bei mir im Projekt eingerichtet ist, wie kann ich es so konfigurieren, dass die Anwendung beim Starten die Logdatei in der Entwicklungsumgebung generiert. Bisher wird in Eclipse nur Console logs gemacht. In der Config datei wurde schon der ConsoleAppender und RollingFileAppender definiert.
  • Wenn ich mehrere File appender in der Logdatei habe, woher weißt meine Klasse welchen LogAppender er nehmen soll?
    Beispiel:
    Java:
    log4j.appender.test1.file=test1.loglog4j.appender.test2.file=test2.log
    log4j.appender.test3.file=test3.log
  • Und wenn ich im Projekt 10 log4j-test1.properties, log4j-test2.properties ... log4j-test10.properties habe, werden die alle gezogen? Was werden mit Konflikte gemacht
  • Wenn ich in mein Projekt Third Party Libs benutze die auch log4j.properties haben, ich schätze da wird zuerst meine log4j.properties gezogen oder?
  • Gibt es einen Weg alle Log4J config properties herauszufinden?
Habt ihr eventuell noch weitere Bestpractises oder links wo ich da nachlesen kann?

Grüße
lam_tr
 

lam_tr

Top Contributor
Ich glaube ich habe zu viele Fragen auf einmal gestellt, vielleicht fangen wir nochmal von vorne an und arbeiten Schritt für Schritt weiter.

Ich habe hier folgendes Beispiel:

Code:
log4j.rootLogger = DEBUG, CONSOLE, FILE
log4j.logger.com.foo=DEBUG,FILE
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${user.home}/log.out

Hier wird ein Appendender für Console und File definiert, soweit so klar. Was bringt mir an der Stelle diesen Eintrag
Java:
log4j.logger.com.foo=DEBUG,FILE
? Oder wie wird darauf zugegriffen für diesen Custom Logger?
 
K

kneitzel

Gast
In
Java:
log4j.rootLogger = DEBUG, CONSOLE, FILE
hast Du festgelegt, dass Du generell DEBUG Informationen auf CONSOLE und FILE haben willst.

Java:
log4j.logger.com.foo=DEBUG,FILE
kann jetzt für den Namespace / Klasse "foo" das Logging umstellen.

Hier muss ich aber gestehen, dass ich mir nicht sicher bin, wie das Verhalten nun genau ist. Dies könntest Du einmal austesten. Entweder landen logs nun nur noch in der Datei und nicht mehr in der Console (additivity="false" Einstellung) oder Du hast es einmal in der Console und zwei Mal in der Datei (additivity="true", was im xml Config Standard ist)

Also das foo zu einem Namespace oder einer Klasse ändern und ausprobieren:
Java:
log4j.logger.com.my.namespace.MyClass=DEBUG,FILE

Im XML wäre das sowas in der Art:

XML:
  <Loggers>
    <Logger name="foo" level="debug" additivity="false">
      <AppenderRef ref="CONSOLE"/>
    </Logger>
    <Root level="debug">
      <AppenderRef ref="CONSOLE"/>
      <AppenderRef ref="FILE"/>
    </Root>
  </Loggers>
 

lam_tr

Top Contributor
In
Java:
log4j.rootLogger = DEBUG, CONSOLE, FILE
hast Du festgelegt, dass Du generell DEBUG Informationen auf CONSOLE und FILE haben willst.

Java:
log4j.logger.com.foo=DEBUG,FILE
kann jetzt für den Namespace / Klasse "foo" das Logging umstellen.

Hier muss ich aber gestehen, dass ich mir nicht sicher bin, wie das Verhalten nun genau ist. Dies könntest Du einmal austesten. Entweder landen logs nun nur noch in der Datei und nicht mehr in der Console (additivity="false" Einstellung) oder Du hast es einmal in der Console und zwei Mal in der Datei (additivity="true", was im xml Config Standard ist)

Also das foo zu einem Namespace oder einer Klasse ändern und ausprobieren:
Java:
log4j.logger.com.my.namespace.MyClass=DEBUG,FILE

Im XML wäre das sowas in der Art:

XML:
  <Loggers>
    <Logger name="foo" level="debug" additivity="false">
      <AppenderRef ref="CONSOLE"/>
    </Logger>
    <Root level="debug">
      <AppenderRef ref="CONSOLE"/>
      <AppenderRef ref="FILE"/>
    </Root>
  </Loggers>
Wie switche ich sozusagen ich von RootLogger auf den Custom Logger? Oder wird beides benutzt? Es macht doch viel mehr Sinn wenn nur in bestimmten Fällen der Custom Logger eingeschaltet wird, d.h. in bestimmten Klassen gehe ich auf den Custom Logger ein oder?
 
K

kneitzel

Gast
Die Idee ist doch, dass man gewisse Bereiche nicht ganz so ausführlich loggen will wie andere.

Also wenn z.B. in Produktion ein Fehler auftritt, dann ist es üblich, dass man "einen Trace zieht". Du stellst also das Logging so um, dass Trace oder Debug Informationen kommen.
Das kann aber extrem viel an Daten sein. Und wenn Dich gewisse Bereiche nicht interessieren, dann willst Du diese Bereiche entweder gar nicht aktivieren (Dann aktivierst Du den hohen Level nur für bestimmte Bereiche) oder du setzt den hohen Level beim root Logger und reduzierst dies dann für die Bereiche, die Dich nicht interessieren. (Das ist unser vorgehen bei Integrationstests. da wird im Integrationstest nur das intensiv geschrieben, was im Test wichtig ist. Sollte da also ein Verhalten sein, dass nicht erwartet wurde, dann kann das mit den Traces analysiert werden.)
 

lam_tr

Top Contributor
Die Idee ist doch, dass man gewisse Bereiche nicht ganz so ausführlich loggen will wie andere.

Also wenn z.B. in Produktion ein Fehler auftritt, dann ist es üblich, dass man "einen Trace zieht". Du stellst also das Logging so um, dass Trace oder Debug Informationen kommen.
Das kann aber extrem viel an Daten sein. Und wenn Dich gewisse Bereiche nicht interessieren, dann willst Du diese Bereiche entweder gar nicht aktivieren (Dann aktivierst Du den hohen Level nur für bestimmte Bereiche) oder du setzt den hohen Level beim root Logger und reduzierst dies dann für die Bereiche, die Dich nicht interessieren. (Das ist unser vorgehen bei Integrationstests. da wird im Integrationstest nur das intensiv geschrieben, was im Test wichtig ist. Sollte da also ein Verhalten sein, dass nicht erwartet wurde, dann kann das mit den Traces analysiert werden.)
Alles klar danke dir, bin jetzt ein bisschen weitergekommen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K log4j nach log4j2 überführen Java Basics - Anfänger-Themen 0
M Log4J (v2) nachträglich in allen Klassen hinzufügen Java Basics - Anfänger-Themen 9
MiMa log4j als separate Dateien in Schleife? Java Basics - Anfänger-Themen 6
B Log4J Pfad des Logfiles definieren Java Basics - Anfänger-Themen 6
Tom299 Log4j in jeder Klasse definieren? Java Basics - Anfänger-Themen 12
O Wie Log4J - Ausgaben/Events auffangen?! Java Basics - Anfänger-Themen 3
S log4j in externer Library Java Basics - Anfänger-Themen 4
M xml log4j überschreiben für/in Java Klassen Java Basics - Anfänger-Themen 4
N wie *.class-Dateien mit log4j loggen? Java Basics - Anfänger-Themen 9
F Log4j - log4j:WARN No appenders could be found for logger Java Basics - Anfänger-Themen 1
0 Log4J Probleme beim einlesen der Log datei Java Basics - Anfänger-Themen 2
0 Log4J Instanz erzeugen Java Basics - Anfänger-Themen 2
M Input/Output log4j mit properties datei Java Basics - Anfänger-Themen 6
T LOG4J Konfiguration Java Basics - Anfänger-Themen 5
W log4j "installieren" Java Basics - Anfänger-Themen 10
F ThreadId in Log4j Java Basics - Anfänger-Themen 4
M log4j Java Basics - Anfänger-Themen 11
H Log4J und Angabe eines Ordners Java Basics - Anfänger-Themen 5
A log4j - wie kann ich im Quellcode initialisieren statt in der properties-Datei? Java Basics - Anfänger-Themen 2
A log4j - Warum wird Methode getHeader 2x ausgeführt? Java Basics - Anfänger-Themen 2
S log4j pfad per umgebungsvariable setzen? Java Basics - Anfänger-Themen 2
G Probleme mit log4j Java Basics - Anfänger-Themen 2
M log4j design Java Basics - Anfänger-Themen 11
G log4j Java Basics - Anfänger-Themen 4
S LineNumberReader - bessere Lösung möglich? - Log4J Java Basics - Anfänger-Themen 9
G Kompletten Stacktrace mit Log4j ausgeben Java Basics - Anfänger-Themen 3
M logging mit log4j Java Basics - Anfänger-Themen 4
M log4j frage zu whitespaces Java Basics - Anfänger-Themen 2
G log4j Java Basics - Anfänger-Themen 3
H Log4J Pfad setzen Java Basics - Anfänger-Themen 2
M log4j Unterverzeichnis mit Datum , Timestamp in LogDateiname Java Basics - Anfänger-Themen 2
G Log4j? Java Basics - Anfänger-Themen 15
G Log4j notwendig oder nicht? Java Basics - Anfänger-Themen 16
J Log4j + Junit Java Basics - Anfänger-Themen 4
M log4j XML Konfigurationsdatei Java Basics - Anfänger-Themen 2
M "System.out" "System.err" bzw. log4j Java Basics - Anfänger-Themen 9
K log4j Java Basics - Anfänger-Themen 2
R log4j - Datum an Logdatei anhängen möglich? Java Basics - Anfänger-Themen 7
S log4j "Richtiges" Design Java Basics - Anfänger-Themen 4
B Log4J Anfänger sucht hilfe! Java Basics - Anfänger-Themen 4
N Log4J Problem Java Basics - Anfänger-Themen 4
Zrebna Fragen zu einem Klassendiagramm Java Basics - Anfänger-Themen 8
H Fragen zu Wrapperklassen Java Basics - Anfänger-Themen 29
S Best Practice Fragen zu Projektstruktur einer Datenbank-Abfrage-App (MVC) Java Basics - Anfänger-Themen 13
A Bei VierGewinnt fragen ob man gegen CPU oder Menschen spielen will. Java Basics - Anfänger-Themen 7
A Bei VierGewinnt vorher fragen, ob man gegen den Computer spielen möchte oder gegeneinander. Java Basics - Anfänger-Themen 1
A Bei VierGewinnt fragen, ob man gegen den Computer spielen möchte oder gegeneinander Java Basics - Anfänger-Themen 1
sserio Wie kann man nach einer Klasse fragen? Java Basics - Anfänger-Themen 12
G Fragen zu Kompelierfehler in Aufgabe. Java Basics - Anfänger-Themen 25
E Bäume/ allgemeine Fragen Java Basics - Anfänger-Themen 21
O Falsche Antworten zu Fragen Java Basics - Anfänger-Themen 4
S Diverse Fragen vor Schulaufgabe ;) Java Basics - Anfänger-Themen 4
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
B fragen zu Aufbau eines UML-Klassendiagramm Java Basics - Anfänger-Themen 1
C 3 Fragen rund um Klassenattribute Java Basics - Anfänger-Themen 8
NeoLexx Fragen zu diversen Elementen der Javabibliothek Java Basics - Anfänger-Themen 5
D Budget Manager fragen zur Umsetzung Java Basics - Anfänger-Themen 9
N Fragen zur Datenspeicherung Java Basics - Anfänger-Themen 45
T Java Anfänger mit konkreten Fragen Java Basics - Anfänger-Themen 2
CT9288 Fragen zu Java Java Basics - Anfänger-Themen 16
W Fragen zu Generics Java Basics - Anfänger-Themen 14
T ObjectInput/OutputStream Fragen zur Funktionsweise Java Basics - Anfänger-Themen 3
J Fragen zu einer Methode Java Basics - Anfänger-Themen 3
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
Z Fragen zu Exception (Throws/throw) Java Basics - Anfänger-Themen 7
J Fragen zu Input/Output Java Basics - Anfänger-Themen 3
J Erste Schritte Oracle Tutorials zu Java 8 - Fragen dazu Java Basics - Anfänger-Themen 1
H Java Quereinsteiger Roadmap und Fragen Java Basics - Anfänger-Themen 29
H fragen Java Basics - Anfänger-Themen 15
M Samelsarium Grundlegender Fragen 2 Java Basics - Anfänger-Themen 9
M Sammelsarium an Grundlagen Grundlagen Fragen Java Basics - Anfänger-Themen 11
B Java ist / wird kostenpflichtig. Ein paar Fragen Java Basics - Anfänger-Themen 1
J Fragen zu synrchonized und kritischen Abschnitten Java Basics - Anfänger-Themen 5
S Fragen zu einem Rechentrainer Java Basics - Anfänger-Themen 2
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
J Wo kann man Fragen zu ireport stellen. Java Basics - Anfänger-Themen 0
M Fragen zum Anlegen und Benutzen von Listen Java Basics - Anfänger-Themen 9
G Ein paar Anfänger Fragen zu StdDraw Java Basics - Anfänger-Themen 4
D Fragen zur Klassen Java Basics - Anfänger-Themen 4
Aprendiendo Zwei Fragen und ein geerbtes "protected"-Attribut Java Basics - Anfänger-Themen 2
J Interface Fragen bezüglich "Sauberkeit" von Code Java Basics - Anfänger-Themen 5
D Objekte-Fragen Java Basics - Anfänger-Themen 1
V Erste Schritte Habe Fragen zu der For und While Schleife als auch Inkrement und Dekrement Java Basics - Anfänger-Themen 4
D Anfänger-Fragen(Parameter einer Methode) Java Basics - Anfänger-Themen 7
K Zwei Fragen zu Graphics/Graphics2D Java Basics - Anfänger-Themen 5
R Fragen über den Konstruktor Java Basics - Anfänger-Themen 0
Azazel Ein paar Fragen zu Methodenaufrufen(java.awt) Java Basics - Anfänger-Themen 2
S Erste Schritte Fragen zur For-Schleife Java Basics - Anfänger-Themen 9
C Interface Fragen zum Interface Java Basics - Anfänger-Themen 7
GreenTeaYT Exception und zur OOP fragen? Java Basics - Anfänger-Themen 3
C Fragen zum Spigot Plugin (1.8) Java Basics - Anfänger-Themen 6
J Fragen zu Exceptions Java Basics - Anfänger-Themen 24
N Quiz- Fragen zufällig anzeigen lassen Java Basics - Anfänger-Themen 7
J Verschieden Fragen über Java Programmierung Java Basics - Anfänger-Themen 3
L Viele Fragen zu den Grundlagen Java Basics - Anfänger-Themen 5
B Fragen zu ZIP-File Java Basics - Anfänger-Themen 9
L fragen zu arrays Java Basics - Anfänger-Themen 8
L Fragen zu selbstgeschriebenem Programm Java Basics - Anfänger-Themen 5
M Fragen zum Auslesen von HTML Seiten Java Basics - Anfänger-Themen 5
J Threading-Aufgabe. Totale Noob Fragen, aber bitte trotzdem beantworten ;) Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben