7.23. ログ¶
Groongaには2つのログファイルがあります。プロセスログとクエリーログです。プロセスログは groonga 実行ファイル の動作すべてに関することのログです。クエリーログはクエリー処理に関することだけのログです。
7.23.1. プロセスログ¶
プロセスログはデフォルトで有効になっています。プロセスログは groonga --log-path オプションでカスタマイズできます。各ログにはログレベルがあります。ログのレベルがGroongaプロセスのログレベルより小さいときはそのログは記録されません。ログレベルは groonga -l または log_level でカスタマイズできます。
7.23.1.1. フォーマット¶
プロセスログのフォーマットは以下の通りです。:
#{TIME_STAMP}|#{L}| #{MESSAGE}
groonga-httpd や PGroonga といったマルチプロセスベースのアプリケーションでのフォーマットは以下の通りです。:
#{TIME_STAMP}|#{L}|#{PID}: #{MESSAGE}
- TIME_STAMP
- タイムスタンプのフォーマットは次の通りです。: - YYYY-MM-DD hh:mm:ss.SSSSSS - YYYY
- 年(4桁) 
- MM
- 月(2桁) 
- DD
- 日(2桁) 
- hh
- 時(2桁) 
- mm
- 分(2桁) 
- ss
- 秒(2桁) 
- SSSSSS
- マイクロ秒(6桁) 
 - 実行例: - 2011-07-05 06:25:18.345734 
- L
- ログレベル(1文字)。文字がどのログレベルに対応するかは次の通りです。 - E
- 緊急 
- A
- アラート 
- C
- 危機的 
- e
- エラー 
- w
- 警告 
- n
- 通知 
- i
- 情報 
- d
- デバッグ 
- -
- ダンプ 
 - 実行例: - E 
- PID
- プロセスID。 - 実行例: - 1129 
- MESSAGE
- 自由形式でのログの詳細。 - 実行例: - log opened. 
実行例:
2011-07-05 08:35:09.276421|n| grn_init
2011-07-05 08:35:09.276553|n| RLIMIT_NOFILE(4096,4096)
実行例(PIDを含む場合):
2011-07-05 08:35:09.276421|n|1129: grn_init
2011-07-05 08:35:09.276553|n|1129: RLIMIT_NOFILE(4096,4096)
7.23.2. クエリーログ¶
クエリーログはデフォルトでは無効になっています。 groonga --query-log-path オプションで有効にできます。
7.23.2.1. フォーマット¶
クエリーログのフォーマットは次の通りです。:
#{TIME_STAMP}|#{MESSAGE}
#{TIME_STAMP}|#{ID}|>#{QUERY}
#{TIME_STAMP}|#{ID}|:#{ELAPSED_TIME} #{PROGRESS}
#{TIME_STAMP}|#{ID}|<#{ELAPSED_TIME} #{RETURN_CODE}
- TIME_STAMP
- タイムスタンプのフォーマットは次の通りです。: - YYYY-MM-DD hh:mm:ss.SSSSSS - YYYY
- 年(4桁) 
- MM
- 月(2桁) 
- DD
- 日(2桁) 
- hh
- 時(2桁) 
- mm
- 分(2桁) 
- ss
- 秒(2桁) 
- SSSSSS
- マイクロ秒(6桁) 
 - 実行例: - 2011-07-05 06:25:18.345734 
- ID
- スレッドのID。Groongaプロセスは並列に複数のリクエストを処理するためにスレッドを作ります。各スレッドは1つのリクエストにつき複数のログを出力します。このIDを使うとスレッド毎の一連のログを抽出できます。 - 実行例: - 45ea3034 
- >
- クエリーが始まったことを示す文字。 
- :
- クエリーが処理中であることを示す文字。 
- <
- クエリーが完了したことを示す文字。 
- MESSAGE
- 自由形式でのログの詳細。 - 実行例: - query log opened. 
- QUERY
- 処理対象のクエリー。 - 実行例: - select users --match_columns hobby --query music 
- ELAPSED_TIME
- クエリーの処理を開始してからの時間。単位はナノ秒。 - 実行例: - 000000000075770 (It means 75,770 nanoseconds.) 
- PROGRESS
- このときに処理した内容。 - 実行例: - select(313401) (It means that 'select' is processed and 313,401 records are remained.) 
- RETURN_CODE
- クエリーのリターンコード。 - 実行例: - rc=0 (It means return code is 0. 0 means GRN_SUCCESS.) 
実行例:
2011-07-05 06:25:19.458756|45ea3034|>select Properties --limit 0
2011-07-05 06:25:19.458829|45ea3034|:000000000072779 select(19)
2011-07-05 06:25:19.458856|45ea3034|:000000000099998 output(0)
2011-07-05 06:25:19.458875|45ea3034|<000000000119062 rc=0
2011-07-05 06:25:19.458986|45ea3034|>quit