DPロギング・プロパティ・ファイル

データ処理には、ロギング・プロパティを設定するデフォルトのLog4j構成ファイルがあります。

ファイルの名前はlog4j.propertiesで、$BDD_HOME/dataprocessing/edp_cli/configディレクトリにあります。

ファイルのデフォルト・バージョンは次の例のようになります。
############################################################
# Global properties
############################################################

log4j.rootLogger = INFO, console, edpMain

############################################################
# Handler specific properties.
############################################################

log4j.appender.console = org.apache.log4j.ConsoleAppender

############################################################
# EdpODPFormatterAppender is a custom log4j appender that gives two new optional 
# variables that can be added to the log4j.appender.*.Path property and are 
# filled in at runtime:
# %timestamp  - provides a timestamp in the format: yyyyMMddHHmmssSSS
# %unique -  provides a uniquified string
############################################################

log4j.appender.edpMain = com.oracle.endeca.pdi.logging.EdpODLFormatterAppender
log4j.appender.edpMain.ComponentId = DataProcessing
log4j.appender.edpMain.Path = /localdisk/Oracle/Middleware/BDD-1.1.0.13.38/logs/edp/edp_%timestamp_%unique.log
log4j.appender.edpMain.Format = ODL-Text
log4j.appender.edpMain.MaxSegmentSize = 100000000
log4j.appender.edpMain.MaxSize = 1000000000
log4j.appender.edpMain.Encoding = UTF-8

############################################################
# Formatter specific properties.
############################################################

log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern = [%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}] [DataProcessing] [%p] [] [%C] [tid:%t] [userID:${user.name}] %m%n

############################################################
# Facility specific properties.
############################################################

# These loggers from dependency libraries are explicity set to different logging levels.
# They are known to be very noisy and obsure other log statements.
log4j.logger.org.eclipse.jetty = WARN
log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper = INFO
log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter = INFO
このファイルには、次のプロパティがあります。
ロギング・プロパティ 説明
log4j.rootLogger ルート・ロガーのレベルはINFOとして定義され、consoleおよびedpMainハンドラを添付します。
log4j.appender.console consoleをLog4j ConsoleAppenderとして定義します。
log4j.appender.edpMain edpMainEdpODPFormatterAppender (カスタムLog4jアペンダ)として定義します。
log4j.appender.edpMain.ComponentId ログ・メッセージを生成するコンポーネントの名前としてDataProcessingを設定します。
log4j.appender.edpMain.Path ログ・ファイルのパスを$BDD_HOME/logs/edpディレクトリに設定します。各ログ・ファイルの名前は、次のように決まります。
edp_%timestamp_%unique.log
%timestampおよび%unique変数の定義はログ・ファイルのコメントを参照してください。
log4j.appender.edpMain.Format ODL-Textを変換パターンで指定された書式設定文字列として設定します。
log4j.appender.edpMain.MaxSegmentSize ログ・ファイルの最大サイズ(バイト単位)を設定します。ファイルがこのサイズに達した場合、ロールオーバー・ファイルが作成されます。デフォルトは100000000 (約100MB)です。
log4j.appender.edpMain.MaxSize メイン・ログ・ファイルおよびロギング・ロールオーバー・ファイルで使用されるディスク領域の最大量を設定します。デフォルトは1000000000 (約1 GB)です。
log4j.appender.edpMain.Encoding ログ・ファイルのキャラクタ・エンコーディングを設定します。デフォルトのUTF-8の値は、ファイル内のUTF-8文字を出力します。
log4j.appender.console.layout consoleレイアウトにPatternLayoutクラスを設定します。
log4j.appender.console.layout.ConversionPattern ログ・エントリの変換パターンを次のように定義します。
  • %dは、指定した形式でのロギング・イベントの日付です。
  • %pは、ロギング・イベントの優先度を出力します。
  • %cは、ロギング・イベントのカテゴリを出力します。
  • %Lは、ロギング・リクエストが発行された行番号を出力します。
  • %mは、%nがプラットフォーム依存の行区切り文字である場合に、ロギング・イベントに関連付けられたアプリケーション提供のメッセージを出力します。

他の変換文字については、https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.htmlを参照してください。

log4j.logger.org.eclipse.jetty

log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper

log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter

SparkおよびJettyロガーのデフォルトのロギング・レベルを設定します。

ロギング・レベル

ロギング・レベルにより、ログに記録する情報の量を指定します。レベルは(降順で)次のとおりです。
  • SEVERE — 重大な障害を示します。一般に、SEVEREメッセージでは、通常のプログラム実行の妨げになるような、非常に重要なイベントを説明します。
  • WARNING — 潜在的な問題を示します。一般に、WARNINGメッセージでは、エンド・ユーザーまたはシステム管理者が関心を持つ、または潜在的な問題を示すイベントを説明します。
  • INFO — メッセージを情報として提供するメッセージ・レベルです。INFOレベルは、エンド・ユーザーとシステム管理者が理解できる適度に重要なメッセージにのみ使用する必要があります。
  • CONFIG — 静的な構成メッセージのメッセージ・レベルです。CONFIGメッセージの目的は、様々な静的構成情報を提供することで、特定の構成に関係する可能性のある問題のデバッグを支援することです。
  • FINE — トレース情報を提供するメッセージ・レベルです。すべてのオプション(FINEFINERおよびFINEST)は、比較的詳細な追跡を行うためのものです。これらのレベルのうち、最もボリュームが少ない(かつ最も重要な)トレース・メッセージにFINEを使用する必要があります。
  • FINER — かなり詳細なトレース・メッセージを示します。
  • FINEST — 非常に詳細なトレース・メッセージを示します。FINESTは、最もボリュームの多い詳細な出力に使用する必要があります。
  • ALL — すべてのメッセージをロギングできます。

これらのレベルを選択することによって、関係のない大量のメッセージに圧倒されることなく、関心のあるイベントを適切な精度でモニターできるようになります。最初に開発環境でアプリケーションを設定しているときはFINESTレベルを使用してすべてのメッセージを取得し、本番環境では冗長性の低いレベルに変更することもできます。