Php/docs/mongolog.setcallback

提供:Dev Guides
< Php
移動先:案内検索

MongoLog::setCallback

(PECL mongo >= 1.3.0)

MongoLog::setCallbackイベントに対応して呼ばれるコールバック関数を設定する


説明

public static MongoLog::setCallback ( callable $log_function ) : void

この関数は、コールバック関数を設定します。これは、 のイベントに対応して、警告を発する代わりに呼ばれるものです。


パラメータ

log_function

イベントに対応して呼ばれるコールバック関数。 関数のプロトタイプは、次のようになります。

log_function ( int $module , int $level , string $message )

module
MongoLog モジュール定数 のいずれか。
level
MongoLog レベル定数 のいずれか。
message
ログメッセージ。


返り値

成功した場合に true を、失敗した場合に false を返します。


例1 MongoLog::setCallback() の例

<?phpfunction module2string($module){    switch ($module) {        case MongoLog::RS: return "REPLSET";        case MongoLog::CON: return "CON";        case MongoLog::IO: return "IO";        case MongoLog::SERVER: return "SERVER";        case MongoLog::PARSE: return "PARSE";        default: return "UNKNOWN";    }}function level2string($level){    switch ($level) {        case MongoLog::WARNING: return "WARN";        case MongoLog::INFO: return "INFO";        case MongoLog::FINE: return "FINE";        default: return "UNKNOWN";    }}function callback($module, $level, $message){    echo date("Y-m-d H:i:s - ");    printf("%s (%s): %s\n", module2string($module), level2string($level), $message);}MongoLog::setLevel(MongoLog::ALL);MongoLog::setModule(MongoLog::ALL);// ここでは関数名を指定します。しかし、無名関数など、任意の callable で動作しますMongoLog::setCallback("callback");new MongoClient();?>

上の例の出力は、 たとえば以下のようになります。


2013-07-09 09:41:42 - PARSE (INFO): Parsing localhost:27017
2013-07-09 09:41:42 - PARSE (INFO): - Found node: localhost:27017
2013-07-09 09:41:42 - PARSE (INFO): - Connection type: STANDALONE
2013-07-09 09:41:42 - CON (INFO): mongo_get_read_write_connection: finding a STANDALONE connection
2013-07-09 09:41:42 - CON (INFO): connection_create: creating new connection for localhost:27017
2013-07-09 09:41:42 - CON (INFO): stream_connect: Not establishing SSL for localhost:27017
2013-07-09 09:41:42 - CON (INFO): get_server_flags: start
2013-07-09 09:41:42 - CON (FINE): send_packet: read from header: 36
2013-07-09 09:41:42 - CON (FINE): send_packet: data_size: 95
2013-07-09 09:41:42 - CON (FINE): get_server_flags: setting maxBsonObjectSize to 16777216
2013-07-09 09:41:42 - CON (FINE): get_server_flags: setting maxMessageSizeBytes to 48000000
2013-07-09 09:41:42 - CON (INFO): is_ping: pinging localhost:27017;-;.;1543
2013-07-09 09:41:42 - CON (FINE): send_packet: read from header: 36
2013-07-09 09:41:42 - CON (FINE): send_packet: data_size: 17
2013-07-09 09:41:42 - CON (INFO): is_ping: last pinged at 1373359302; time: 0ms
2013-07-09 09:41:42 - REPLSET (FINE): finding candidate servers
2013-07-09 09:41:42 - REPLSET (FINE): - all servers
2013-07-09 09:41:42 - REPLSET (FINE): filter_connections: adding connections:
2013-07-09 09:41:42 - REPLSET (FINE): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543
2013-07-09 09:41:42 - REPLSET (FINE): filter_connections: done
2013-07-09 09:41:42 - REPLSET (FINE): limiting by seeded/discovered servers
2013-07-09 09:41:42 - REPLSET (FINE): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543
2013-07-09 09:41:42 - REPLSET (FINE): limiting by seeded/discovered servers: done
2013-07-09 09:41:42 - REPLSET (FINE): limiting by credentials
2013-07-09 09:41:42 - REPLSET (FINE): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543
2013-07-09 09:41:42 - REPLSET (FINE): limiting by credentials: done
2013-07-09 09:41:42 - REPLSET (FINE): sorting servers by priority and ping time
2013-07-09 09:41:42 - REPLSET (FINE): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543
2013-07-09 09:41:42 - REPLSET (FINE): sorting servers: done
2013-07-09 09:41:42 - REPLSET (FINE): selecting near servers
2013-07-09 09:41:42 - REPLSET (FINE): selecting near servers: nearest is 0ms
2013-07-09 09:41:42 - REPLSET (FINE): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543
2013-07-09 09:41:42 - REPLSET (FINE): selecting near server: done
2013-07-09 09:41:42 - REPLSET (INFO): pick server: random element 0
2013-07-09 09:41:42 - REPLSET (INFO): - connection: type: STANDALONE, socket: 42, ping: 0, hash: localhost:27017;-;.;1543

注意

警告 この関数は、PHP 5.3.0 以降でしか使えません。