その他

目次

MongoLog クラス

はじめに

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

<?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
class MongoLog {
/* 定数 */
const int MongoLog::NONE = 0 ;
const int MongoLog::ALL = 31 ;
レベル定数 {
const int MongoLog::WARNING = 1 ;
const int MongoLog::INFO = 2 ;
const int MongoLog::FINE = 4 ;
モジュール定数 {
const int MongoLog::RS = 1 ;
const int MongoLog::POOL = 1 ;
const int MongoLog::CON = 2 ;
const int MongoLog::IO = 4 ;
const int MongoLog::SERVER = 8 ;
const int MongoLog::PARSE = 16 ;
/* フィールド */
private static int $callback ;
private static int $level ;
private static int $module ;
/* メソッド */
public static callable 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::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::POOLMongoLog::SERVER が非推奨になりました。

MongoPool クラス

はじめに

警告

現在のリリース (1.3.0 以降) のドライバは、プーリングを実装しなくなりました。 このクラスやメソッドは廃止予定であり、使ってはいけません。

クラス概要

MongoPool
class MongoPool {
/* メソッド */
public static int getSize ( void )
public array info ( void )
public static bool setSize ( int $size )
}

変更履歴

バージョン 説明
PECL mongo 1.3.0 この機能は削除され、単に非推奨の警告を出すだけで何もしないようになりました。 このクラスは過去との互換性のためだけに残されているものであり、近い将来削除されます。
PECL mongo 1.2.11 E_DEPRECATED を発行するようになりました。

Mongo クラス [非推奨]

はじめに

MongoDB と PHP を接続します。

このクラスは MongoClient を継承したもので、 いくつかの非推奨のメソッドが使えるようになります。

過去との互換性のために、コンストラクタの "w" 引数のデフォルトを 0 にしており、書き込み操作のときにサーバー側での確認を必要としません。 詳細な情報は MongoClient::__construct を参照ください。

警告

このクラスはバージョン 1.3.0 で 非推奨 になりました。 このクラスの機能に頼ってはいけません。代わりに MongoClient を使いましょう。

クラス概要

Mongo
class Mongo extends MongoClient {
/* メソッド */
protected bool connectUtil ( void )
public static int getPoolSize ( void )
public string getSlave ( void )
public bool getSlaveOkay ( void )
public array poolDebug ( void )
public static bool setPoolSize ( int $size )
public bool setSlaveOkay ([ bool $ok = true ] )
public string switchSlave ( void )
/* 継承したメソッド */
public bool close ([ boolstring $connection ] )
public bool connect ( void )
public array MongoClient::dropDB ( mixed $db )
public MongoDB __get ( string $dbname )
public static array MongoClient::getConnections ( void )
public array getHosts ( void )
public array MongoClient::getReadPreference ( void )
public array MongoClient::getWriteConcern ( void )
public bool MongoClient::killCursor ( string $server_hash , intMongoInt64 $id )
public array MongoClient::listDBs ( void )
public MongoCollection MongoClient::selectCollection ( string $db , string $collection )
public MongoDB MongoClient::selectDB ( string $name )
public bool MongoClient::setReadPreference ( string $read_preference [, array $tags ] )
public bool MongoClient::setWriteConcern ( mixed $w [, int $wtimeout ] )
public string __toString ( void )
}