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
{
/* 定数 */
レベル定数 {
モジュール定数 {
/* フィールド */
public
int
$level
;
public
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 - サーバーの状態の変更を記録します。 プライマリやセカンダリ、そして複製の検出をします。
目次
- MongoLog::getCallback — 以前に設定されたコールバック関数の名前を取得する
- MongoLog::getLevel — ログレベルを取得する
- MongoLog::getModule — 現在ログを記録しているモジュールを取得する
- MongoLog::setCallback — イベントに対応して呼ばれるコールバック関数を設定する
- MongoLog::setLevel — ログレベルを設定する
- MongoLog::setModule — ログに記録するドライバの機能を設定する