(PECL mongo >= 1.3.0)
MongoLog::setCallback — Establece una función de llamada de retorno para ser invocada en eventos
Esta función establecerá una función de llamada de retorno par ser invocada por eventos de MongoLog en lugar de por advertencias desdencadenadas.
log_function
La función a llamar en eventos.
La función debería tener el siguiente prototipo
$module
, int $level
, string $message
)module
level
message
Devuelve TRUE
en caso de éxito o FALSE
en caso de error.
Ejemplo #1 Ejemplo de 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();
?>
El resultado del ejemplo sería algo similar a:
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
Esta función solamente está disponible con PHP 5.3.0 y posterior.