Ich bin dabei, von log4j 1.2 zu log4j 2 zu migrieren.log4j: WARN Es konnten keine Appender für den Logger gefunden werden (org.springframework.web.filter.CharacterEncodingFilter). mit log4j2
Ich habe meine gesamte Konfiguration in einer log4j2.properties-Datei.
Ich bemerkte, dass ich eine neue Fehlermeldung in meinen Logs bekam, während mein Kater beginnen:
log4j: WARN konnte keine Appender für Logger (org.springframework.web.filter.CharacterEncodingFilter) gefunden werden. log4j: WARN Bitte initialisieren Sie das log4j-System ordnungsgemäß. log4j: WARN Siehe http://logging.apache.org/log4j/1.2/faq.html#noconfig für weitere Informationen.
Ich habe mit meinen vorherigen Protokollen verifiziert, und ich hatte diese Warnung zuvor nicht.
Hier ist meine vorherige Konfiguration (in der log4j.properties-Datei):
log4j.rootLogger=INFO, CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{dd-MM HH:mm:ss} %p %t %c - %m%n
log4j.logger.com.example=DEBUG
log4j.logger.org.springframework=INFO
Hier ist die neue (in log4j2.properties):
appender.console.type = Console
appender.console.name = ConsoleAppender
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d %p %t %c - %m%n
loggers = log1, log2
logger.log1.name = org.springframework
logger.log1.level = INFO
logger.log1.appenderRef = ConsoleAppender
logger.log2.name = com.example
logger.log2.level = DEBUG
logger.log2.appenderRef = ConsoleAppender
rootLogger.level = ERROR
rootLogger.appenderRef.stdout.ref = ConsoleAppender
Also, was ich habe verstehen, so weit ist:
- ich erstelle ein appender namens ConsoleAppender vom Typ Console
- Ich schaffe zwei Loggern, die jeweils auf ConsoleAppender, eine auf org.springframework (Ebene INFO) und die andere auf com.example (Ebene INFO)
Ich benutze this page zu versuchen zu verstehen, wie zu tun, um die Migration geht .
Sehen Sie irgendeine Erklärung, warum ich diese bestimmte Nachricht haben sollte?
Haben Sie versucht, den Speicherort der Konfigurationsdatei anzugeben? Ich denke, dass dieser Fehler bedeutet, dass Log4j es nicht findet: https://logging.apache.org/log4j/2.0/faq.html#config_location – xuso
Es scheint, dass es nicht notwendig ist, es zu spezifizieren, da log4j2.properties automatisch gefunden wird (da log4j.properties automatisch mit der vorherigen Version gefunden wurde) –
Beim erneuten Lesen der Log-Nachricht habe ich festgestellt, dass die Version 1.2 nicht ihre Konfiguration findet, nicht die Version 2.4. Vielleicht ist das alte 1.2 Glas noch in deinem Klassenpfad? – xuso