(PECL mongo >=1.2.3)
はじめに
ログ機能を使うと、ドライバが何をしているのかに関する詳細な情報を取得できます。 ログ機能はデフォルトでは無効になっています。しかし、このクラスを使うと、 ドライバの特定の部分について指定したレベルでのログ出力を有効にできます。 たとえば次のように使います。
<?php// すべてのログ出力を有効にしますMongoLog::setLevel(MongoLog::ALL); // すべてのログレベルMongoLog::setModule(MongoLog::ALL); // ドライバのすべての部分// レプリカセットのフェイルオーバーに関する重大なイベントを表示しますMongoLog::setLevel(MongoLog::INFO);MongoLog::setModule(MongoLog::RS);// レプリカセットと接続に関する info および diagnostic レベルのイベントを表示しますMongoLog::setLevel(MongoLog::INFO|MongoLog::FINE);MongoLog::setModule(MongoLog::RS|MongoLog::CON);?>
注意:
デフォルトでは、MongoLog はすべてのログメッセージを PHP の notice として発行します。 利用する SAPI によって、 このメッセージが
stderr
に送られる (CLI の場合) こともあれば、ウェブサーバーのエラーログに書き出されることもあります、 MongoLog を設定したのにログメッセージが期待通りに出力されない場合は、 error_reporting の設定にE_NOTICE
が含まれているかどうかと、 display_errors が on になっているかどうかを確認しましょう。
クラス概要
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
= 1
const
int
CON
= 2
const
int
IO
= 4
const
int
SERVER
= 8
const
int
PARSE
= 16
/* フィールド */
private
static
int
$callback
private
static
int
$level
private
static
int
$module
/* メソッド */
public static getCallback ( ) : callable
public static getLevel ( ) : int
public static getModule ( ) : int
public static setCallback
( callable $log_function
) : void
public static setLevel
( int $level
) : void
public static setModule
( int $module
) : void
}
定義済み定数
MongoLog 定数
これらの定数は MongoLog::setLevel() および MongoLog::setModule() の両方で使えます。
MongoLog::NONE
- ログ出力を無効にする。
MongoLog::ALL
- すべてをログ出力する。
MongoLog レベル定数
これらの定数は MongoLog::setLevel() で使えます。
MongoLog::WARNING
- これは、何かおかしいけれども例外を発生させるほどではないできごと (復旧可能な接続エラーなど) を記録します。
MongoLog::INFO
- 管理者にとっては有用だと思われるが 特に注目には値しないできごと (オプションのパース、認証処理など) を記録します。
MongoLog::FINE
- ドライバの動作における大半のできごと (サーバーの選択やソケット通信など) を記録します。記録対象のモジュールにもよりますが、 ログがノイズまみれになる可能性もあります。主な用途はデバッグです。
MongoLog モジュール定数
これらの定数は MongoLog::setModule() で使えます。
MongoLog::CON
- 接続のアクティビティを記録します。 新規接続の作成、認証、ping、タイムアウトなどです。
MongoLog::IO
- データベースとのトラフィックを記録します。 ちょっとした小物プログラムでない限り、 これを有効にすると大量のログメッセージが記録されます。
MongoLog::PARSE
- MongoClient を作成するときの、 接続文字列やオプションのパースを記録します。
MongoLog::POOL
- かつては接続プールの活動を記録していました。今は非推奨で、
MongoLog::RS
のエイリアスとなっています。 MongoLog::RS
- レプリカセットの活動を記録します。フェイルオーバーや、 優先読み込みの選択などです。
MongoLog::SERVER
- かつてはサーバーの状態の変更を記録していました。今は非推奨で、
MongoLog::RS
のエイリアスとなっています。
変更履歴
バージョン | 説明 |
---|---|
PECL mongo 1.3.0 | MongoLog::CON が追加され、
|
目次
- MongoLog::getCallback — 以前に設定されたコールバック関数の名前を取得する
- MongoLog::getLevel — 現在記録されているログレベルを取得する
- MongoLog::getModule — 現在ログを記録しているモジュールを取得する
- MongoLog::setCallback — イベントに対応して呼ばれるコールバック関数を設定する
- MongoLog::setLevel — 記録するログレベルを設定する
- MongoLog::setModule — ログに記録するモジュールを設定する
/* 定数 */