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

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

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

ログ・ローテーションの頻度は、日次(ハードコードされ、構成不可)に設定されています。これは、ログ・ファイルが特定のサイズ(`MaxSegmentSize`設定)に達したか、特定の期間が経過した(Dgraph Gatewayの00:00 UTC)ときに新しいログ・ファイルを作成することを意味します。

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

    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.server.logging.ODLAppender
    log4j.appender.ODL.MaxSize=1048576000
    log4j.appender.ODL.MaxSegmentSize=104857600
    log4j.appender.ODL.encoding=UTF-8
    log4j.appender.ODL.MaxDaysToRetain=7

    # Zookeeper client log level
    log4j.logger.org.apache.zookeeper=WARN

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

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

ロギング・プロパティ | 説明
--- | ---
`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`ファイルおよびロギング・ロールオーバー・ファイルで使用されるディスク領域の最大量を設定します。デフォルトは1048576000 (約1GB)です。古いログ・ファイルから削除されていき、ログ・サイズ合計が指定の上限を下回るようにします。
`log4j.appender.ODL.MaxSegmentSize` | ログ・ファイルの最大サイズ(バイト単位)を設定します。`<ServerName>-diagnositic.log`ファイルがこのサイズに達すると、ロールオーバー・ファイルが作成されます。デフォルトは104857600 (約10MB)です。
`log4j.appender.ODL.encoding` | ログ・ファイルをエンコードする文字を設定します。デフォルトのUTF-8の値は、ファイル内のUTF-8文字を出力します。
`log4j.appender.ODL.MaxDaysToRetain` | 古いログ・ファイルを保持する期間(日数)を設定します。指定した日数より古いファイルは削除されます。ファイルが削除されるのは、ログ・ローテーションがある場合のみです。結果として、保持期間が過ぎてもしばらくの間は、ファイルは削除されません。値は正整数である必要があります。デフォルト値は7日間です。
`log4j.logger.org.apache.zookeeper` | ZooKeeperクライアント・ログ出力(つまりHadoop環境で実行中のZooKeeperサーバー用ではない)のデフォルトのログ・レベルを設定します。デフォルトのログ・レベルはWARNです。

## ZooKeeperクライアント・ログ・レベルの変更

次の例のように、ZooKeeperクライアントのログ・レベルを、別の設定に変更できます。

    log4j.logger.org.apache.zookeeper=INFO

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

- `OFF`
- `FATAL`
- `ERROR`
- `WARN`
- `INFO`
- `DEBUG`