2016-06-06 13 views
2

Nach dem Upgrade der Version 2.6 auf log4j2, begegne ich diese Warnungen:Log4j 2.6 Warnung für eine Null-Mitteilung Fabrik

2016-06-06 16:36:14,920 localhost-startStop-1 WARN The Logger foo.bar was created with the message factory [email protected] and is now requested with a null message factory (defaults to org.apache.logging.log4j.message.ParameterizedMessageFactory), which may create log events with unexpected formatting. 

Es war ok in der Version 2.5, die Kommentare?!

Ich sehe die Log-Meldungen in Appen

Antwort

4

Dies ist ein Fehler in der Log4j 2.6-Version. Es wurde behoben (siehe https://issues.apache.org/jira/browse/LOG4J2-1407) und wird in der kommenden Version 2.6.1 behoben (die jetzt überprüft wird und in ~ 48 Stunden verfügbar sein sollte).

Es ist kein echtes Problem, der Fehler ist, dass die Warnung unnötigerweise angezeigt wird.

+0

Danke für diese wirklich schnelle Lösung! –

+0

Ich habe versucht herauszufinden, was verhindert, dass mein Logging funktioniert. Wenn ich das nur früher gesehen hätte, vielen Dank! –

1

vor allem, weil der Logger als Instanz-Objekt erstellt wird, nicht statisches Objekt, wie folgt aus:

public class PropertiesConfigurationFactory { 
    private final Log logger = LogFactory.getLog(getClass()); 
} 

wenn PropertiesConfigurationFactory wieder schaffen, Logger ist auch erstellt.

in LoggerContext wird es die erstellte Instanz des Loggers

getLogger(name, null) 

null ist MessageFactory

so wird es mit dem alten Loggers messagefactory überprüfen Sie die null erhalten und es aus dieser Warnung drucken. scheint in Ordnung.