# ロギングの構成

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

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

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

    log4j.rootLogger=WARN, stdout, ODL

    # Console Appender
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d [%p] [%c] %L - %m%n

    # ODL-format Log Appender
    log4j.appender.ODL=com.endeca.util.ODLAppender
    log4j.appender.ODL.MaxSize=104857600
    log4j.appender.ODL.MaxSegmentSize=10485760
    log4j.appender.ODL.encoding=UTF-8

    # Log level per packages
    log4j.logger.com.endeca=ERROR
    log4j.logger.org.apache.zookeeper=WARN

ファイルでは、ルート・ログ出力の2つのアペンダ(stdoutおよびODL)を定義し、2つのパッケージのログ・レベルも設定します。

ファイルには、次のプロパティがあります。

この表では、ロギング・プロパティをリストします。
ロギング・プロパティ | 意味
--- | ---
log4j.rootLogger=WARN, stdout, ODL | ルート・ログ出力のレベルはWARNとして定義され、コンソール・アペンダ(stdout)およびODL形式のログ・アペンダ(ODL)をアタッチします。
log4j.appender.stdout=org.apache.log4j.ConsoleAppender | stdoutをLog4j ConsoleAppenderとして定義します。
org.apache.log4j.PatternLayout | stdoutレイアウトにPatternLayoutクラスを設定します。
log4j.appender.stdout.layout.ConversionPattern | ログ・エントリの変換パターンを次のように定義します。 %dは、ロギング・イベントの日付です。 %pは、ロギング・イベントの優先度を出力します。 %cは、ロギング・イベントのカテゴリを出力します。 %Lは、ロギング・リクエストが発行された行番号を出力します。 %mは、%nがプラットフォーム依存の行区切り文字である場合に、ロギング・イベントに関連付けられたアプリケーション提供のメッセージを出力します。 他の変換文字については、https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.htmlを参照してください。
log4j.appender.ODL=com.endeca.util.ODLAppender | ODLをODLアペンダとして定義します。ODL (Oracle Diagnostics Logging)は、Oracleアプリケーションのロギング形式です。
log4j.appender.ODL.MaxSize | <ServerName>-diagnositic.logファイルおよびロギング・ロールオーバー・ファイルで使用されるディスク領域の最大量を設定します。デフォルトは104857600 (約100MB)です。
log4j.appender.ODL.MaxSegmentSize | ログ・ファイルの最大サイズ(バイト単位)を設定します。<ServerName>-diagnositic.logファイルがこのサイズに達すると、ロールオーバー・ファイルが作成されます。デフォルトは104857600 (約10MB)です。
log4j.appender.ODL.encoding | ログ・ファイルをエンコードする文字を設定します。デフォルトのUTF-8の値は、ファイル内のUTF-8文字を出力します。
log4j.logger.com.endeca | Endecaログ出力のデフォルトのログ・レベルを設定します。デフォルトのログ・レベルはERRORです。
log4j.logger.org.apache.zookeeper | ZooKeeperログ出力のデフォルトのログ・レベルを設定します。デフォルトのログ・レベルはWARNです。

FileHandler設定の詳細は、http://docs.oracle.com/javase/7/docs/api/java/util/logging/FileHandler.htmlを参照してください。

## ロギング・レベル

ロギング・レベルは、記録される情報の量を指定します。この例では、ログ・レベル設定の変更方法を示します。

    log4j.logger.com.endeca=INFO

例では、Endecaログ出力のログ・レベルがINFOに設定されます。

ログ・レベル(重大度の高い順)は次のとおりです。

- `OFF` - 上限ランクで、ロギングを無効化するために使用されます。
- `FATAL` - 重大な障害を示します。一般に、FATALメッセージは、通常のプログラム実行の妨げになるような、非常に重要なイベントを記述します。
- `ERROR` - 管理者による緊急処置が必要ですが、製品の不具合が原因ではない、重大な問題を示します。
- `WARN` - 潜在的な問題を示します。一般に、WARNメッセージは、管理者が確認する必要があるイベントを記述します。
- `INFO` - メッセージを情報として提供するメッセージ・レベルです。通常、INFOレベルは、プライマリ・サブコンポーネントまたは機能のアクティブ化や非アクティブ化などの、主要なライフサイクル・イベントを示します。
- `DEBUG` - パブリックAPIエントリや終了ポイントなど、管理者にとって重要なイベントに関するデバッグ情報。

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

ログ・プロパティ・ファイルを変更した後で、Dgraph Gatewayを再起動する必要があります。