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

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

ファイルの名前はlog4j.propertiesで、$DGRAPH_HOME/dgraph-hdfs-agent/libディレクトリにあります。

ログ・ファイルはローリング・ログ・ファイルです。ファールのデフォルト・バージョンは次のようになります。
log4j.rootLogger=INFO, ROLLINGFILE
#
# Add ROLLINGFILE to rootLogger to get log file output
#    Log DEBUG level and above messages to a log file
log4j.appender.ROLLINGFILE=oracle.core.ojdl.log4j.OracleAppender
log4j.appender.ROLLINGFILE.ComponentId=DgraphHDFSAgent
log4j.appender.ROLLINGFILE.Path=${logfilename}
log4j.appender.ROLLINGFILE.Format=ODL-Text
log4j.appender.ROLLINGFILE.MaxSegmentSize=10485760
log4j.appender.ROLLINGFILE.MaxSize=1048576000
log4j.appender.ROLLINGFILE.Encoding=UTF-8
log4j.appender.ROLLINGFILE.layout = org.apache.log4j.PatternLayout
log4j.appender.ROLLINGFILE.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

ファイルは、ルート・ロガーのROLLINGFILEアペンダを定義し、ファイルのログ・レベルも設定します。

このファイルには、次のプロパティがあります。
ロギング・プロパティ 説明
log4j.rootLogger ルート・ロガーのレベルはINFOとして定義され、ROLLINGFILEアペンダを添付します。

ログ・レベルは変更できますが、ROLLINGFILEアペンダは変更しないでください。

log4j.appender.ROLLINGFILE アペンダをOracleAppenderに設定します。これは、ログ・エントリのODL (Oracle Diagnostics Logging)形式を定義します。

このプロパティは変更しないでください。

log4j.appender.ROLLINGFILE.ComponentId ログ・メッセージを生成するコンポーネントの名前としてDgraphHDFSAgentを設定します。

このプロパティは変更しないでください。

log4j.appender.ROLLINGFILE.Path ログ・ファイルのパスを設定します。${logfilename}変数は、起動時に使用されるDgraph HDFSエージェントの--outフラグからパスを取り出します。

このプロパティは変更しないでください。

log4j.appender.ROLLINGFILE.Format ODL-Textを変換パターンで指定された書式設定文字列として設定します。

このプロパティは変更しないでください。

log4j.appender.ROLLINGFILE.MaxSegmentSize ログ・ファイルの最大サイズ(バイト単位)を設定します。dgraphHDFSAgent.outファイルがこのサイズに達した場合、ロールオーバー・ファイルが作成されます。デフォルトは10485760 (約10MB)です。
log4j.appender.ROLLINGFILE.MaxSize dgraphHDFSAgent.outファイルおよびロギング・ロールオーバー・ファイルで使用されるディスク領域の最大量を設定します。デフォルトは1048576000 (約1 GB)です。
log4j.appender.ROLLINGFILE.Encoding ログ・ファイルのキャラクタ・エンコーディングを設定します。デフォルトのUTF-8の値は、ファイル内のUTF-8文字を出力します。
log4j.appender.ROLLINGFILE.layout レイアウトにorg.apache.log4j.PatternLayoutクラスを設定します。
log4j.appender.ROLLINGFILE.layout.ConversionPattern ログ・エントリの変換パターンを定義します。

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

ロギング・レベル

テキスト・エディタでプロパティ・ファイルを開き、log4j.rootLoggerプロパティのレベルを下の表のJavaログ・レベルに変更することで、ログ・レベルを変更できます。この例では、ログ・レベル設定をERRORに変更する方法を示します。
log4j.rootLogger=ERROR
ただし、ログ・メッセージを書き込むと、ロギング・システムがJavaレベルを同等のODLレベルに変換します。ログ・レベル(重大度の高い順)は次の表のとおりです。
Javaのログ・レベル ODLのログ・レベル 意味
OFF 該当なし 上限ランクで、ロギングを無効化するために使用されます。
FATAL INCIDENT_ERROR 製品の不具合によって発生し、Oracleサポートに報告する必要のある深刻な問題を示します。一般に、これらのメッセージでは、通常のプログラム実行の妨げになるような、非常に重要なイベントを説明します。
ERROR ERROR 管理者による緊急処置が必要ですが、製品の不具合が原因ではない、重大な問題を示します。
WARN WARNING 管理者が確認する必要のある潜在的な問題を示します。
INFO NOTIFICATION メッセージを情報として提供するメッセージ・レベルです。通常、このレベルは、プライマリ・サブコンポーネントまたは機能のアクティブ化や非アクティブ化などの、主要なライフサイクル・イベントを示します。これはデフォルトのレベルです。
DEBUG TRACE パブリックAPIエントリや終了ポイントなど、管理者にとって重要なイベントに関するデバッグ情報。

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

ローテーション頻度

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

ただし、次の例のようにrotate-logsコマンドでbdd-adminスクリプトを実行することで、ログを強制的にローテーションできます。
./bdd-admin.sh rotate-logs -c agent -n web009.us.example.com

この例の結果、dgraphHDFSAgent.outログの名前がdgraphHDFSAgent.out-1438022767に変更され、空のdgraphHDFSAgent.outログが作成されます。

rotate-logsコマンドの詳細は、『管理者ガイド』を参照してください。