J'écris une petite couche de transformation XML en Java. Je reçois le XML via le service Web, le modifie, puis envoie le fichier XML modifié à un autre système. J'attends ensuite une réponse et renvoie la réponse à l'appelant d'origine.Log4J RollingFileAppender Impossible de rouler le fichier
System A -> Me -> System B -> Me -> System A
Je veux enregistrer la demande que je reçois, je la demande envoie, la réponse que je reçois, et la demande que j'envoie. Fondamentalement, je veux enregistrer le fichier XML où chaque flèche est dans mon diagramme.
Mon problème est avec le RollingFileAppender. J'essaie de rouler à 10 Mo, parfois c'est le cas et parfois ça ne roule pas. S'il roule plusieurs fois, puis s'arrête, il continuera à renommer les fichiers roulés de 3 à 4 et 4 à 5 et ainsi de suite.
Ma meilleure estimation est que lorsque la marque de 10 Mo est croisée, il y a plusieurs threads qui écrivent dans le fichier journal, de sorte que le fichier ne peut pas être renommé. J'espère que Log4J a une solution facile pour cela, mais si nécessaire, je suis ouvert à passer à un nouveau cadre de journalisation. Merci d'avance pour toute aide.
EDIT Voici mon fichier de propriétés.
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 Ceci est essentiellement une bosse, comme ce poste a un faible nombre de vues. J'ai l'impression que cela ne peut pas être un problème unique. Toute aide est très appréciée. Merci! Log4J s'auto-initialise au niveau du chargeur de classe.
Merci pour l'explication détaillée. Je vois ce que j'ai fait de mal, et comment l'éviter à l'avenir. Je savais que ça ne pouvait pas être la faute de Log4J! – Joe
@Joe si ça aide, je savais aussi que ça ne pouvait pas être la faute de Log4J ... – Isaac
@Isaac pouvez-vous me dire quels "paramètres JVM" devrais-je ajouter cette ligne '-Dlog4j.debug = true' ? –