Ich schreibe eine kleine XML-Transformationsebene in Java. Ich empfange XML über Web-Service, modifiziere es und sende dann das modifizierte XML an ein anderes System. Ich warte dann auf eine Antwort und gebe die Antwort an den ursprünglichen Anrufer zurück.Log4J RollingFileAppender Kann nicht rollen Datei
Ich möchte die Anfrage, die ich erhalte, die Anfrage, die ich sende, die Antwort, die ich erhalte, und die Anfrage, die ich sende, protokollieren. Im Grunde möchte ich das Xml, wo jeder Pfeil in meinem Diagramm ist, protokollieren.
Mein Problem ist mit dem RollingFileAppender. Ich versuche, mit 10 MB zu rollen, manchmal tut es und manchmal rollt es nicht. Wenn es ein paar Mal rollt und dann stoppt, werden die gerollten Dateien weiterhin von 3 zu 4 und von 4 zu 5 usw. umbenannt.
Meine beste Vermutung ist, dass wenn die 10MB Markierung überschritten wird, mehrere Threads in die Protokolldatei geschrieben werden, so dass die Datei nicht umbenannt werden kann. Ich hoffe, dass Log4J dafür eine einfache Lösung bietet, aber wenn nötig, bin ich offen für den Wechsel zu einem neuen Logging-Framework. Vielen Dank im Voraus für jede Hilfe.
BEARBEITEN Hier ist meine Eigenschaftendatei.
log4j.rootLogger=DEBUG, fileOut
log4j.appender.fileOut=org.apache.log4j.RollingFileAppender
log4j.appender.fileOut.File=/logs/log.log
log4j.appender.fileOut.layout=org.apache.log4j.PatternLayout
log4j.appender.fileOut.layout.ConversionPattern=%d %-5p %c - %m%n
log4j.appender.fileOut.MaxFileSize=10MB
log4j.appender.fileOut.MaxBackupIndex=10
log4j.appender.fileOut.append=true
EDIT 2 Dies ist im Wesentlichen eine Beule, wie dieser Beitrag nur eine geringe Anzahl von Ansichten hat. Ich denke, das kann kein einzigartiges Problem sein. Jede Hilfe wird sehr geschätzt. Vielen Dank!
Vielen Dank für die ausführliche Erklärung. Ich sehe, was ich falsch gemacht habe und wie ich es in Zukunft vermeiden kann. Ich wusste, dass es nicht Log4Js Schuld sein konnte! – Joe
@Joe, wenn es irgendeine Hilfe ist, wusste auch ich, dass es nicht Log4J's Fehler sein konnte ... – Isaac
@Isaac können Sie mir sagen, welche "JVM-Parameter" sollte ich diese Zeile '-Dlog4j.debug = true' hinzufügen ? –