Класс MongoLog

(PECL mongo >=1.2.3)

Введение

Запись событий может быть использована для получения подробной информации о том, что делает драйвер. Ведение журнала отключено по умолчанию, но этот класс позволяет активировать определенные уровни ведения журнала для различных частей драйвера. Например:

<?php

// печатает все сообщения
MongoLog::setLevel(MongoLog::ALL); // все уровни журнала
MongoLog::setModule(MongoLog::ALL); // все части драйвера

// печатает важные события об отказе реплики
MongoLog::setLevel(MongoLog::INFO);
MongoLog::setModule(MongoLog::RS);

// печатает события информационного и диагностического уровня для наборов реплик и соединений
MongoLog::setLevel(MongoLog::INFO|MongoLog::FINE);
MongoLog::setModule(MongoLog::RS|MongoLog::CON);

?>

Замечание:

По умолчанию MongoLog отправляет все сообщения журнала как уведомления PHP. В зависимости от используемого вами SAPI сообщения могут отправляться в stderr (для CLI) или в журнал ошибок веб-сервера. Если после настройки MongoLog сообщения журнала не отображаются должным образом, убедитесь, что бит E_NOTICE включен в error_reporting и что display_errors включен.

Обзор классов

MongoLog {
/* Константы */
const int NONE = 0 ;
const int ALL = 31 ;
level constants {
const int WARNING = 1 ;
const int INFO = 2 ;
const int FINE = 4 ;
module constants {
const int RS = 1 ;
const int POOL = 1 ;
const int CON = 2 ;
const int IO = 4 ;
const int SERVER = 8 ;
const int PARSE = 16 ;
/* Поля */
private static int $callback ;
private static int $level ;
private static int $module ;
/* Методы */
public static getCallback ( ) : callable
public static getLevel ( ) : int
public static getModule ( ) : int
public static setCallback ( callable $log_function ) : void
public static setLevel ( int $level ) : void
public static setModule ( int $module ) : void
}

Предопределенные константы

Константы MongoLog

Эти константы могут быть использованы, как MongoLog::setLevel() и MongoLog::setModule().

MongoLog::NONE
Ничего не записывать.
MongoLog::ALL
Записывать все события.

Константы уровней MongoLog

Эти константы могут быть использованы, как MongoLog::setLevel().

MongoLog::WARNING
Записывать события, которые являются несколько исключительными, но не вполне достойными фактического исключения (например, исправимые ошибки подключения).
MongoLog::INFO
Записывать события, которые могут представлять интерес для администраторов, но не особо заслуживают внимания (например, анализ параметров, этапы аутентификации).
MongoLog::FINE
Записывать большинство событий, которые выполняет драйвер (например, выбор сервера, связь через сокет). В зависимости от регистрируемого модуля, может быть очень шумно и в первую очередь полезно для отладки.

Константы модуля MongoLog

Эти константы могут быть использованы как MongoLog::setModule().

MongoLog::CON
Журнал подключения активности. Создание новых соединений, аутентификация, пинг, тайм-ауты и т.д.
MongoLog::IO
Журнал трафика в/из базы данных. Если ваша программа не тривиальна, это создаст огромное количество сообщений журнала.
MongoLog::PARSE
Журнал разбора строки подключения и параметров при построении MongoClient.
MongoLog::POOL
Ранее использовался для регистрации активности пула соединений. Параметр теперь является устаревшим псевдонимом MongoLog::RS.
MongoLog::RS
Журнал активности реплик. Аварийное переключение, выбор параметров чтения и т.д.
MongoLog::SERVER
Ранее использовался для регистрации изменений состояния сервера. Параметр теперь является устаревшим псевдонимом MongoLog::RS.

Список изменений

Версия Описание
PECL mongo 1.3.0 Добавлена константа MongoLog::CON, объявлены уставевшими MongoLog::POOL и MongoLog::SERVER.

Содержание

  • MongoLog::getCallback — Получает ранее установленную callback-функцию
  • MongoLog::getLevel — Получает уровень(-ни), которые в настоящее время записываются
  • MongoLog::getModule — Получает модуль(-и), которые в настоящее время записываются
  • MongoLog::setCallback — Устанавливает callback-функцию для вызова событий
  • MongoLog::setLevel — Устанавливает уровень(-ни) для записи событий
  • MongoLog::setModule — Устанавливает модуль(-и) для записи событий