log4j 1.2からlog4j2への移行

Madhuri Haritha:

アプリケーションをlog4j 1.2からlog4j2-2.8.1バージョンに移行中です。以下は、log4j.propertiesファイル内の既存の1.x構成です。

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に変換します。

<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>

変換後、次のエラーが発生します:

 org.apache.logging.log4j.core.config.ConfigurationException: Arguments given for element RollingFile are invalid

任意の助けいただければ幸いです。

レムコ・ポプマ:

RollingFileアペンダーにロールオーバーのタイミング(トリガーポリシー)と、ロールオーバーの結果がどのようになるかを通知する必要があります。

一定の間隔(TimeBasedTriggeringPolicyまたはCronTriggeringPolicy)でロールオーバーする場合は、filePatternを含むSimpleDateFormat文字列を指定する必要があります大きなファイル(SizeBasedTriggeringPolicy)を回避するためにロールオーバーする場合は、filePatterncontaining を指定する必要があります%i

filePatternは、古い(ロールオーバーされた)ファイルの移動先の相対パスまたは絶対パスです。

例:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="MyApp" packages="">
  <Appenders>
    <RollingFile name="RollingFile" fileName="logs/app.log"
                 filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
      <PatternLayout>
        <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
      </PatternLayout>
      <Policies>
        <CronTriggeringPolicy schedule="0 0 0 * * ?"/>
        <SizeBasedTriggeringPolicy size="250 MB"/>
      </Policies>
    </RollingFile>
  </Appenders>
  <Loggers>
    <Root level="error">
      <AppenderRef ref="RollingFile"/>
    </Root>
  </Loggers>
</Configuration>

上記のcron式は1日に1回実行されます。

詳細およびその他の例については、ユーザーマニュアルのRollingFileアペンダーのセクション参照してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

log4j 1.xとlog4j 2の混在

分類Dev

Log4jBridgeを使用してlog4j1からlog4j2に移行します

分類Dev

log4netからlog4j2への移行

分類Dev

log4jからlog4j2への移行-プロパティファイルの設定

分類Dev

Log4j1.xからLog4j2.1.1への移行の問題

分類Dev

How to configure Log4j (1 or 2) to use custom log file name while code against Slf4j

分類Dev

log4j 1.2からlog4j 2への移行で、DailyRollingFileAppenderクラスをどうするか?

分類Dev

log4jからlog4j2のカスタムRollingPolicy

分類Dev

log4j2と同等のlog4J setSyslogHost(...)

分類Dev

Log4J 1.2 PropertyConfigurator-> Log4J2

分類Dev

Log4j AsyncAppender

分類Dev

Log4j StackOverflowError

分類Dev

log4j2からslf4jへのブリッジ

分類Dev

log4j2のCustomInjections

分類Dev

SpringBootのLog4j2

分類Dev

AndroidのLOG4J

分類Dev

log4jの利点

分類Dev

Log4j2のLog4jNestedDiagnosticContextFilter

分類Dev

Log4j2のLog4jNestedDiagnosticContextFilter

分類Dev

Log4j2のLog4jNestedDiagnosticContextFilter

分類Dev

log4j2なぜlog4jではなくそれを使用するのですか?

分類Dev

log4j2 java.lang.NoClassDefFoundError:org / apache / logging / log4j / LogManager

分類Dev

log4j StringMatchFilterをlog4j2に変換する方法は?

分類Dev

Log4j2 and Spring 4

分類Dev

Log4j2 and Spring 4

分類Dev

%c {1.}が有効になったlog4jのバージョン

分類Dev

Log4j 2SLF4JバインディングとLog4j2 toSLF4Jアダプターの違いは何ですか

分類Dev

プロジェクトをlog4jからslf4j + log4jに移行する

分類Dev

log4j1.xとlog4j2を、log4j1.xに依存するサードパーティライブラリと混合する

Related 関連記事

ホットタグ

アーカイブ