6.2 ロギング

ロギングは、Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)とGG for DAAターゲットの統合に関するトラブルシューティングに不可欠です。

このトピックでは、GG for DAA統合のログと、ロギングのベスト・プラクティスについて説明します。

6.2.1 Replicatプロセスのロギングについて

Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)統合では、Javaメッセージの配信で説明されている、Java配信の機能が利用されます。この設定では、Oracle GoldenGateのReplicatプロセスがユーザー・イグジット共有ライブラリをロードします。この共有ライブラリは次に、Java仮想マシンをロードし、それによってJavaインタフェースを提供するターゲットとのインタフェースをとります。したがって、データのフローは次のようになります。

Replicatプロセス —> ユーザー・イグジット —> Java層

ユーザーがログを見直して新しいインストールと統合をトラブルシューティングするには、すべての層で正しくログを記録することが重要です。また、問題が発生してOracleサポートへの連絡が必要になった場合も、ログ・ファイルは問題を効率的に解決するために、Oracleサポートに提供する情報としても重要です。

Replicatプロセスを実行すると、GoldenGate_Home/dirrptディレクトリにprocess_name.rptという命名規則に従って、ログ・ファイルが作成または追加されます。新しいOracle GoldenGateプロセスをデプロイするときに問題が発生した場合は、最初に問題の有無を調べるべきログの候補です。GG for DAA アプリケーションと統合する場合、Java層は重要です。

6.2.2 Java層のロギングについて

Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)製品では、Java層からのロギングについて柔軟性があります。ベスト・プラクティスとしては、Log4jロギングを使用してJava層からログを記録することをお薦めします。単純なLog4jロギングを有効にするには、Javaアダプタ構成ファイルで2つの構成値を設定する必要があります。

gg.log=log4j
gg.log.level=INFO

これらのgg.log設定で、Log4jファイルはGoldenGate_Home/dirrptディレクトリに作成され、ファイル名は{GROUPNAME}.logという命名規則に従います。サポートされるLog4jログ・レベルは、ロギングの粒度の順に次のリストになります。

  • OFF

  • FATAL

  • ERROR

  • WARN

  • INFO

  • DEBUG

  • TRACE

ロギング・レベルの選択には、粒度が低いほうのロギング・レベルがすべて含まれます(つまり、WARNを選択した場合は、FATALERRORWARNのログ・メッセージがログ・ファイルに書き込まれます)。Log4jロギングはまた、個々のLog4jプロパティ・ファイルでも制御できます。こうした個別のLog4jプロパティ・ファイルを有効にするには、Javaアダプタ・プロパティ・ファイルでbootoptionsプロパティを編集します。Log4jプロパティ・ファイルの3つの例が、インストール時に追加され、次のクラスパスにも含まれています。

log4j-default.properties
log4j-debug.properites
log4j-trace.properties

これらのファイルのいずれかで、次のようにbootoptions を変更できます。

javawriter.bootoptions=-Xmx512m -Xms64m -Djava.class.path=.:ggjava/ggjava.jar -Dlog4j.configurationFile=samplelog4j.properties

カスタマイズした独自のLog4jプロパティ・ファイルを使用してロギングを制御できます。カスタマイズしたLog4jプロパティ・ファイルを、JVMが検索してロードするには、それがJavaクラスパスに存在する必要があります。カスタムLog4jプロパティ・ファイルの例を次に示します。

# Root logger option 
log4j.rootLogger=INFO, file 
 
# Direct log messages to a log file 
log4j.appender.file=org.apache.log4j.RollingFileAppender 
 
log4j.appender.file.File=sample.log 
log4j.appender.file.MaxFileSize=1GB 
log4j.appender.file.MaxBackupIndex=10 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
There are two important requirements when you use a custom Log4j properties file. First, the path to the custom Log4j properties file must be included in the javawriter.bootoptions property. Logging initializes immediately when the JVM is initialized while the contents of the gg.classpath property is actually appended to the classloader after the logging is initialized. Second, the classpath to correctly load a properties file must be the directory containing the properties file without wildcards appended.