ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
1480
1480
EMPFEHLEN
-
Hallo und Halli,
ich habe folgende Situation:
Eine Art Rahmenprogramm welches einen simplen Plugin Mechanismus aufweist ruft unter anderem 2 kLeine Anwendungen auf die Log4J verwenden.
Ich habe für beide Programmen jeweils verschiedene Properties-Dateien für die Log-Informationen bereitgestellt, die ich in jedem der beiden Programme innerhalb ihrer Initialisierungsphase mit org.apache.log4j.PropertyConfigurator.configureAndWatch(propertiesFileName); "bekannt gebe".
Nun passiert es jedoch bedauerlicherweise, dass vornehmlich Log-Einträge munter in einer Datei auftreten, wobei angemerkt sei, dass beide Applikationen in extra Threads durchaus auch parallel laufen.
Jetzt Meine Frage: Kann ich mit geschickter (besserer) log4j-Konfiguration dem Logger die Einträge in applikationssgetrennte Dateien schreiben lassen? Wie müsste das aussehen? Und warum packt der Logger das ganze in 2 Dateien aber mischt es dennoch (s. angehängte Beispiel logs eines Ablaufes).
Meine bisherigen -Propertiesdateien sehen folgendermaßen aus...
Datei der einen Anwendung trägt den namen log4j.properties
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
log4j.rootLogger=TRACE, MeinDaRoFiAppender log4j.de.equens.sisu.swiftsplitting.SwiftSplitter = TRACE log4j.de.equens.sisu.xmlsplitting.XmlSplitter = TRACE log4j.de.equens.sisu.xmlsplitting.data.XmlSplitterHandler = TRACE log4j.logger.net.sourceforge.wife.swift.SwiftParser2 = OFF log4j.logger.net.sourceforge.wife = OFF log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern = %-5p %F:%L %M() %m %n log4j.appender.MeinDaRoFiAppender=org.apache.log4j.DailyRollingFileAppender log4j.appender.MeinDaRoFiAppender.datePattern='.'yyyy-MM-dd log4j.appender.MeinDaRoFiAppender.file=logs/swiftsplitter.log log4j.appender.MeinDaRoFiAppender.layout=org.apache.log4j.PatternLayout log4j.appender.MeinDaRoFiAppender.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c: %m%n log4j.appender.LALA=org.apache.log4j.ConsoleAppender log4j.appender.LALA.layout=org.apache.log4j.PatternLayout log4j.appender.LALA.layout.ConversionPattern = %d{ISO8601} %-5p %F:%L %M() %m %n
Und Datei der anderen Anwendung hat den Namen log4XmlSplit.properties
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
log4j.rootLogger=TRACE, MeinDaRoFiAppender log4j.de.equens.sisu.xmlsplitting.data.XmlSplitterHandler = TRACE log4j.de.equens.sisu.xmlsplitting.XmlSplitter = TRACE log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern = %-5p %F:%L %M() %m %n log4j.appender.MeinDaRoFiAppender=org.apache.log4j.DailyRollingFileAppender log4j.appender.MeinDaRoFiAppender.datePattern='.'yyyy-MM-dd log4j.appender.MeinDaRoFiAppender.file=logs/xmlsplitter.log log4j.appender.MeinDaRoFiAppender.layout=org.apache.log4j.PatternLayout log4j.appender.MeinDaRoFiAppender.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c: %m%n log4j.appender.LALA=org.apache.log4j.ConsoleAppender log4j.appender.LALA.layout=org.apache.log4j.PatternLayout log4j.appender.LALA.layout.ConversionPattern = %d{ISO8601} %-5p %F:%L %M() %m %n
Ursprünglich dachte ich man könne es auf diese Weise tun aber wie gesagt, ich bekomme eine Zuwammenwürfelung
Ich habe dazu im Netz gegoogelt und fand http://java2.5341.com/msg/32707.html.
Jedoch habe ich den Eindruck, dass dies nur für die verchiedenen Log-Level funktioniert.
Oder bleibt mir am Ende doch nicht ersparrt selbst einen Appender ähnlich wie in
http://www.tutorials.de/forum/java/3...mit-log4j.html vorgeschlagen zu schreiben? Ich selbst wüde natürlich eine reine Konfiguratione vorziehen.
Mit bestem Dank für Tips und Aufhellung meines Verständnisses
Takidoso
-
nun habe ich das noch ein wenig weiter versucht und mir gedacht, veilleicht müsste ich die Appender ähnlich wie beim Root-Logger in der Konfiguration mit Komma getrennt nach dem Level schreiben. Das hat irgendwie nichts gebracht

dann habe ich mal aus Spaß alles in ein log-File geschrieben in ähnlicher Form nun schreibt er mir gar nichts mehr raus ich hat noch nicht einmal eine log-Datei geschrieben
Also irgendwie ist dier Log4J-Logger unglaublich unintuitiv was die Konfiguration angeht, zumindest habe ich immernoch nicht verstanden wie eigetnlich ein Appender erfolgreich mit einem Logger assoziiert wird (mal abgesehen vom RootLogger). Und Beispiele so wie ich mir das dachte, finde ich leider auch keine. Andererseits den Hinweis im Kurzhandbuch das das geht, aber leider nicht genau wie
Mein momentn letzter Versuch alles in einem Konfigurationsfile zu haben sieht so aus:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
log4j.rootLogger=TRACE log4j.de.equens.sisu.swiftsplitting.SwiftSplitter = TRACE, SwiftSplitDaRoFiAppender log4j.de.equens.sisu.xmlsplitting.XmlSplitter = TRACE, SwiftSplitDaRoFiAppender log4j.logger.net.sourceforge.wife.swift.SwiftParser2 = OFF log4j.logger.net.sourceforge.wife = OFF log4j.de.equens.sisu.xmlsplitting.data.XmlSplitterHandler = TRACE, XmlSplitDaRoFiAppender log4j.de.equens.sisu.xmlsplitting.XmlSplitter = TRACE, XmlSplitDaRoFiAppender log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern = %-5p %F:%L %M() %m %n log4j.appender.SwiftSplitDaRoFiAppender=org.apache.log4j.DailyRollingFileAppender log4j.appender.SwiftSplitDaRoFiAppender.datePattern='.'yyyy-MM-dd log4j.appender.SwiftSplitDaRoFiAppender.file=logs/swiftsplitter.log log4j.appender.SwiftSplitDaRoFiAppender.layout=org.apache.log4j.PatternLayout log4j.appender.SwiftSplitDaRoFiAppender.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c: %m%n log4j.appender.XmlSplitDaRoFiAppender=org.apache.log4j.DailyRollingFileAppender log4j.appender.XmlSplitDaRoFiAppender.datePattern='.'yyyy-MM-dd log4j.appender.XmlSplitDaRoFiAppender.file=logs/xmlsplitter.log log4j.appender.XmlSplitDaRoFiAppender.layout=org.apache.log4j.PatternLayout log4j.appender.XmlSplitDaRoFiAppender.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c: %m%n
-
Ich habe da nochmal in diesem Forum geschaut...
http://www.tutorials.de/forum/java/248885-log4j.html
Da hatte jemand offenbar das selbe Problem wie ich, doch keiner scheint da bisher Hinweise darauf zu haben, obgleich ich dachte, dass dies ein recht naheliegendes Anliegen sei.
Ähnliche Themen
-
Problem mit Log4J
Von ManuelHegemann im Forum Java GrundlagenAntworten: 2Letzter Beitrag: 01.09.10, 10:23 -
Log4j: Pfad zur log4j.xml explizit angeben - DOMConfigurator.configure()
Von Kryptaesthesie im Forum JavaAntworten: 8Letzter Beitrag: 13.02.09, 08:26 -
Log4j Threading Problem
Von psycotis im Forum JavaAntworten: 4Letzter Beitrag: 18.12.08, 18:28 -
Frage/Problem bei Log4J
Von Chris2610 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 15Letzter Beitrag: 17.09.08, 20:20 -
Problem mit log4j
Von kaMii im Forum JavaAntworten: 0Letzter Beitrag: 21.09.07, 11:09





Zitieren
Login





