MongoLog::getModule
MongoLog::setLevel
MongoLog
PHP Manual

# MongoLog::setCallback

(PECL mongo >= 1.3.0)

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

### 説明

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

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

### パラメータ

`log_function`

  イベントに対応して呼ばれる関数。

  関数のプロトタイプは、次のようになります。

  log_function ( int `$module` , int `$level` , string `$message` )
  `module`
    MongoLog モジュール定数 のいずれか。
  `level`
    MongoLog レベル定数 のいずれか。
  `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)
{
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);
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 以降でしか使えません。

MongoLog::getModule
MongoLog::setLevel
MongoLog
PHP Manual