その他
PHP Manual

MongoLog クラス

(PECL mongo >=1.2.3)

導入

ログ機能を使うと、ドライバが何をしているのかに関する詳細な情報を取得できます。 MongoLog が使うログ機能は、すべてのメッセージを PHP の notice として記録します。 使っているサーバーのインターフェイスによって出力先は変わり、 PHP-CLI の場合は標準エラー出力に送られ それ以外の場合はウェブサーバーのエラーログに送られます。 ログメッセージを出力するには、PHP の設定で E_NOTICE を表示するようにしておかねばなりません。 つまり、E_NOTICE を error_reporting に含めて display_errors を 1 にするということです。

ログ機能はデフォルトでは無効になっています。このクラスを使うと、 ドライバの特定の部分について指定したレベルでのログ出力を有効にできます。 たとえば次のように使います。

<?php

// すべてのログ出力を有効にします
MongoLog::setLevel(MongoLog::ALL); // すべてのログレベル
MongoLog::setModule(MongoLog::ALL); // ドライバのすべての部分

// レプリカセットのフェイルオーバーに関する重大なイベントを表示します
MongoLog::setLevel(MongoLog::INFO);
MongoLog::setModule(MongoLog::RS);

// レプリカセットと接続プーリングに関する info および server tuning レベルのイベントを表示します
MongoLog::setLevel(MongoLog::INFO|MongoLog::FINE);
MongoLog::setModule(MongoLog::RS|MongoLog::POOL);

?>

クラス概要

MongoLog {
/* 定数 */
const int NONE = 0 ;
const int ALL = 31 ;
レベル定数 {
const int WARNING = 1 ;
const int INFO = 2 ;
const int FINE = 4 ;
モジュール定数 {
const int RS = 1 ;
const int POOL = 2 ;
const int IO = 4 ;
const int SERVER = 8 ;
const int PARSE = 16 ;
/* フィールド */
public int $level ;
public int $module ;
/* メソッド */
public static void getCallback ( void )
public static int getLevel ( void )
public static int getModule ( void )
public static void setCallback ( callable $log_function )
public static void setLevel ( int $level )
public static void setModule ( int $module )
}

定義済み定数

MongoLog 定数

これらの定数は MongoLog::setLevel() および MongoLog::setModule() の両方で使えます。

MongoLog::NONE
ログ出力を無効にする定数。
MongoLog::ALL
すべてをログ出力する定数。

MongoLog レベル定数

これらの定数は MongoLog::setLevel() で使えます。

MongoLog::WARNING
これは、何かおかしいけれども例外を発生させるほどではないハプニングのログメッセージを表示します。
MongoLog::INFO
管理者にとっては有用だと思われるが 特に注目には値しないできごとを記録します。
MongoLog::FINE
ドライバの動作における大半のできごとを記録します。記録対象のモジュールにもよりますが、 ログがノイズまみれになる可能性もあります。主な用途はデバッグです。

MongoLog モジュール定数

これらの定数は MongoLog::setModule() で使えます。

MongoLog::IO
データベースとのトラフィックを記録します。 ちょっとした小物プログラムでない限り、 これを有効にすると大量のログメッセージが記録されます。
MongoLog::PARSE
サーバーの文字列パースを記録します。
MongoLog::POOL
接続プールの活動を記録します。新しい接続の作成や 既存の接続の再利用、そして接続の切断などです。
MongoLog::RS
レプリカセットの活動を記録します。フェイルオーバーや ping、 読み込み元のセカンダリの選択などです。
MongoLog::SERVER
サーバーの状態の変更を記録します。 プライマリやセカンダリ、そして複製の検出をします。

目次


その他
PHP Manual