MongoLog::setCallback
(PECL mongo >= 1.3.0)
MongoLog::setCallback — Устанавливает callback-функцию для вызова событий
Описание
Функция установит callback-функцию, которая будет вызываться для событий вместо выдачи уведомления PHP.
Список параметров
-
log_function
-
Callback-функция для вызова событий. Должна соответствовать прототипу:
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: 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 и более поздних версиях.