Ich bin dabei, meine Anwendung von log4j 1.2 in die Version log4j2-2.8.1 zu migrieren. Im Folgenden finden Sie die bestehende 1.x-Konfiguration in log4j.properties Datei.Migration von log4j 1.2 zu log4j2
log4j.appender.JSERRORFILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.JSERRORFILE.File=${log4j.loglocation}/jserror.log
log4j.appender.JSERRORFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.JSERRORFILE.layout.ConversionPattern=%d %-5p %c - %m%n
log4j.logger.com.app.JavascriptLogger=ERROR,JSERRORFILE
log4j.additivity.com.app.JavascriptLogger=false
dies äquivalent xml Konfiguration log4j2.xml Converted:
<RollingFile name="JSERRORFILE" fileName="${log-path}/jserror.log">
<PatternLayout pattern="%d %-5p %c - %m%n" />
</RollingFile>
<Logger name="com.app.JavascriptLogger" level="ERROR" additivity="false">
<AppenderRef ref="JSERRORFILE"/>
</Logger>
Nach der Konvertierung Ich erhalte die folgende Fehlermeldung erhalten:
org.apache.logging.log4j.core.config.ConfigurationException: Arguments given for element RollingFile are invalid
Jede Hilfe würde geschätzt.
Ich würde fast immer empfehlen, die CronTriggeringPolicy als Ersatz für den DailyRollingFileAppender anstelle der TimeBasedTriggeringPolicy zu verwenden. – rgoers
Das Beispiel wurde aktualisiert. Während dieser Änderung bemerkte ich ein paar Dinge. Das Log4j2 Handbuch benötigt konkrete konkrete Beispiele CronTriggeringPolicy; Cron-Ausdrücke sind nicht intuitiv. Außerdem hängt der Trigger bei TimeBased-Triggern ausschließlich vom filePattern ab. Bei Cron-Ausdrücken liegt es in der Verantwortung des Benutzers, das Dateimuster mit der Cron-Häufigkeit zu synchronisieren (und sie während der Wartung synchron zu halten). Dies muss explizit im Log4j2-Handbuch erwähnt werden. –
Ich erfasste das oben in https://issues.apache.org/jira/browse/LOG4J2-2128 –