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)
{
    
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 以降でしか使えません。


MongoLog
PHP Manual