(PECL mongo >= 1.3.0)
MongoLog::setCallback — イベントに対応して呼ばれるコールバック関数を設定する
この関数は、コールバック関数を設定します。これは、MongoLog のイベントに対応して、警告を発する代わりに呼ばれるものです。
log_function
イベントに対応して呼ばれる関数。
関数のプロトタイプは、次のようになります。
$module
, int $level
, string $message
)module
level
message
成功した場合に TRUE
を、失敗した場合に FALSE
を返します。
例1 MongoLog::setCallback() の例
<?php
function 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: var_dump($level); return "UNKNOWN";
}
}
function callback($module, $level, $message)
{
printf("%s (%s): %s\n", module2string($module), level2string($level), $message);
}
MongoLog::setLevel(MongoLog::ALL);
MongoLog::setModule(MongoLog::ALL);
MongoLog::setCallback("callback");
new MongoClient();
?>
上の例の出力は、 たとえば以下のようになります。
PARSE (INFO): Parsing standalone PARSE (INFO): - Found node: localhost:27017 PARSE (INFO): - Connection type: STANDALONE CON (INFO): mongo_get_read_write_connection: finding a STANDALONE connection CON (INFO): connection_create: creating new connection for localhost:27017 CON (INFO): get_server_flags: start CON (FINE): send_packet: read from header: 36 CON (FINE): send_packet: data_size: 70 CON (FINE): get_server_flags: setting maxBsonObjectSize to 16777216 CON (FINE): is_ping: pinging localhost:27017;X;7472 CON (FINE): send_packet: read from header: 36 CON (FINE): send_packet: data_size: 17 CON (WARN): is_ping: last pinged at 1349906451; time: 0ms
この関数は、PHP 5.3.0 以降でしか使えません。