私のアプリケーションをlog4j 1.2からlog4j2-2.8.1バージョンに移行中です。 log4j.propertiesファイルの既存の1.x構成は以下のとおりです。log4j 1.2から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
は、同等のXML設定log4j2.xmlにこれを変換さ:
org.apache.logging.log4j.core.config.ConfigurationException: Arguments given for element RollingFile are invalid
任意の助けをいただければ幸いです:変換後
<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>
、私は次のエラーを取得しておきます。
私はほとんどの場合、TimeBasedTriggeringPolicyの代わりにDailyRollingFileAppenderの代わりにCronTriggeringPolicyを使用することをお勧めします。 – rgoers
例を更新しました。この変更を行っている間、私はいくつかのことに気付きました。 Log4j2マニュアルには具体的なCronTriggeringPolicy具体例が必要です。 cron式は直感的ではありません。また、TimeBasedトリガーの場合、トリガーはfilePatternのみに依存します。 cron式では、filePatternをcron周波数と同期させる(メンテナンス時に同期させておく)ことは、ユーザーの責任です。これは、Log4j2マニュアルで明示的に言及する必要があります。 –
私は上記のhttps://issues.apache.org/jira/browse/LOG4J2-2128 –