Spec-Zone.ru › CakePHP 2.9

Класс CakeLog

Записывает сообщения в настроенные адаптеры логов.

Один или несколько адаптеров могут быть настроены с помощью методов CakeLogs.

Настройка адаптеров логов

Вы можете настроить адаптеры логов в файле вашей приложения bootstrap.php. Пример конфигурации:

CakeLog::config('my_log', array('engine' => 'File'));

Для получения более подробной информации см. документацию по CakeLog::config().

Запись в лог

Запись в лог выполняется с помощью CakeLog::write(). Для получения дополнительной информации см. документацию.

Уровни логирования

По умолчанию CakeLog поддерживает все уровни логирования, определенные в RFC 5424. При записи сообщений вы можете использовать именованные методы или соответствующие константы с write():

CakeLog::error('Something horrible happened');
CakeLog::write(LOG_ERR, 'Something horrible happened');

Если вам необходимы пользовательские уровни логирования, вы можете использовать CakeLog::levels() для добавления дополнительных уровней логирования.

Логические области

При записи сообщений и конфигурировании адаптеров логов можно указать «области», которые будут обрабатывать логгер. Области можно рассматривать как подсистемы в вашем приложении, которым могут потребоваться разные настройки ведения логов. Например, в приложении электронной коммерции вы можете по-разному обрабатывать ошибки, записанные в подсистемах корзины и оформления заказов, по сравнению с остальной частью приложения. Используя области, вы можете контролировать ведение логов для каждой части приложения и при этом сохранять стандартные уровни логов.

Дополнительную информацию об областях см. в CakeLog::config() и CakeLog::write().

Пакет: Cake\Log
Ссылка: http://book.cakephp.org/2.0/ru/core-libraries/logging.html#logging
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Log/CakeLog.php

Краткое описание свойств

  • $_Collection protected static
    LogEngineCollection
    Класс LogEngineCollection
  • $_defaultLevels protected static
    array

    Уровни логов по умолчанию, подробно описанные в RFC 5424 http://tools.ietf.org/html/rfc5424

  • $_levelMap protected static
    array
    Сопоставленные уровни логов
  • $_levels protected static
    array
    Активные уровни логов для этого экземпляра.

Краткое описание методов

  • _init() protected static
    Инициализация ObjectCollection
  • alert() public static
    Метод-обёртка для записи сообщений об оповещениях
  • config() public static

    Настройка и добавление нового потока ведения логов в CakeLog. Вы можете добавить логгеры из app/Log/Engine, используя app.loggername, или из любого плагина/Log/Engine, используя plugin.loggername.

  • configured() public static
    Возвращает имена ключей текущих активных потоков
  • critical() public static
    Метод-обёртка для записи критических сообщений
  • debug() public static
    Метод-обёртка для записи отладочных сообщений
  • defaultLevels() public static
    Сброс уровней логов до исходного значения
  • disable() public static

    Отключение потока. Отключение потока предотвратит получение им каких-либо сообщений до его повторного включения.

  • drop() public static

    Удаляет поток из активных потоков. После удаления потока ему больше не будут отправляться сообщения.

  • emergency() public static
    Метод-обёртка для записи критических сообщений
  • enable() public static

    Включение потока. Потоки, которые ранее были отключены, могут быть повторно включены с помощью этого метода.

  • enabled() public static
    Проверяет, включен ли $streamName
  • error() public static
    Метод-обёртка для записи сообщений об ошибках
  • info() public static
    Метод-обёртка для записи информационных сообщений
  • levels() public static
    Получение/установка уровней логов
  • notice() public static
    Метод-обёртка для записи уведомлений
  • stream() public static
    Получение движка ведения логов из активных потоков.
  • warning() public static
    Метод-обёртка для записи предупреждений
  • write() public static

    Записывает заданное сообщение и тип во все настроенные адаптеры логов. Настроенные адаптеры получают как переменную $type, так и $message. $type — это одна из следующих строк/значений.

Подробное описание методов

_init()source protected static

_init( )

Инициализация ObjectCollection

alert()source public static

alert( string $message , string|array $scope array() )

Метод-обёртка для записи сообщений об оповещениях

Параметры

строка $message
сообщение лога
строка/массив $scope необязательно массив()

Область(и), в которой создаётся сообщение лога. Дополнительную информацию о логических областях см. в CakeLog::config().

Возвращает

boolean
Успех

config()source public static

config( string $key , array $config )

Настройка и добавление нового потока ведения логов в CakeLog. Вы можете добавить логгеры из app/Log/Engine, используя app.loggername, или из любого плагина/Log/Engine, используя plugin.loggername.

Использование:

CakeLog::config('second_file', array(
    'engine' => 'File',
    'path' => '/var/logs/my_app/'
));

Это настройка экземпляра FileLog для использования указанного пути. Все опции, которые не engine передаются в адаптер ведения логов и обрабатываются там. Любой класс может быть настроен как адаптер ведения логов, если он реализует методы в CakeLogInterface.

Уровни логов

При настройке логгеров можно задать, какие уровни логов будет обрабатывать логгер. Это позволяет, например, отключить отладочные сообщения в рабочей среде:

CakeLog::config('default', array(
    'engine' => 'File',
    'path' => LOGS,
    'levels' => array('error', 'critical', 'alert', 'emergency')
));

В данном случае логгер будет записывать только сообщения об ошибках и более высоких уровнях. Все остальные сообщения логов будут игнорироваться.

Логические области

При настройке логгеров можно определить активные области, для которых предназначен логгер. Если определены только перечисленные области, они будут обрабатываться логгером. Если вы не определяете никаких областей, адаптер будет перехватывать все области, соответствующие обработанным уровням.

CakeLog::config('payments', array(
    'engine' => 'File',
    'types' => array('info', 'error', 'warning'),
    'scopes' => array('payment', 'order')
));

Этот логгер будет перехватывать только записи логов, созданные в областях payment и order. Все остальные области, включая неопределённую область, будут игнорироваться. Важно помнить, что при использовании областей необходимо также определить types сообщений логов, которые будет обрабатывать логгер. В противном случае логгер будет перехватывать все сообщения логов, даже если область неверна.

Параметры

строка $key

Имя ключа для этого логгера, используемое для его последующего удаления.

массив $config
Массив конфигурационных данных для логгера

Возвращает

boolean
Успех конфигурации.

Исключения

CakeLogException

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/logging.html#creating-and-configuring-log-streams

configured()source public static

configured( )

Возвращает имена ключей текущих активных потоков

Возвращает

массив
Массив настроенных потоков логов.
END_OF_DOCUMENT_MARKER

critical()source public static

critical( string $message , string|array $scope array() )

Метод для записи сообщений об аварийных ситуациях.

Параметры

строка $message
сообщение журнала
строка|массив $scope необязательно массив()

Область(и), в которой создаётся сообщение журнала. Для получения дополнительной информации о областях ведения журнала см. CakeLog::config().

Возвращает

boolean
Успех

debug()source public static

debug( string $message , string|array $scope array() )

Метод для записи отладочных сообщений.

Параметры

строка $message
сообщение журнала
строка|массив $scope необязательно массив()

Область(и), в которой создаётся сообщение журнала. Для получения дополнительной информации о областях ведения журнала см. CakeLog::config().

Возвращает

boolean
Успех

defaultLevels()source public static

defaultLevels( )

Сброс уровней журнала до исходного значения.

Возвращает

массив
Уровни журнала по умолчанию

disable()source public static

disable( string $streamName )

Отключить поток. Отключение потока предотвратит получение сообщения этим потоком журнала до его повторного включения.

Параметры

строка $streamName
для отключения

Выбрасывает

CakeLogException

drop()source public static

drop( string $streamName )

Удаляет поток из активных потоков. После удаления потока сообщения в него больше не будут отправляться.

Параметры

строка $streamName
Имя ключа настроенного потока для удаления.

emergency()source public static

emergency( string $message , string|array $scope array() )

Метод для записи сообщений об чрезвычайных ситуациях.

Параметры

строка $message
сообщение журнала
строка|массив $scope необязательно массив()

Область(и), в которой создаётся сообщение журнала. Для получения дополнительной информации о областях ведения журнала см. CakeLog::config().

Возвращает

boolean
Успех

enable()source public static

enable( string $streamName )

Включить поток. Потоки, которые были ранее отключены, могут быть повторно включены с помощью этого метода.

Параметры

строка $streamName
для включения

Выбрасывает

CakeLogException

enabled()source public static

enabled( string $streamName )

Проверяет, включен ли $streamName.

Параметры

строка $streamName
для проверки

Возвращает

boolean

Выбрасывает

CakeLogException

error()source public static

error( string $message , string|array $scope array() )

Метод для записи сообщений об ошибках.

Параметры

строка $message
сообщение журнала
строка|массив $scope необязательно массив()

Область(и), в которой создаётся сообщение журнала. Для получения дополнительной информации о областях ведения журнала см. CakeLog::config().

Возвращает

boolean
Успех

info()source public static

info( string $message , string|array $scope array() )

Метод для записи информационных сообщений.

Параметры

строка $message
сообщение журнала
строка|массив $scope необязательно массив()

Область(и), в которой создаётся сообщение журнала. Для получения дополнительной информации о областях ведения журнала см. CakeLog::config().

Возвращает

boolean
Успех

levels()source public static

levels( array $levels array() , boolean $append true )

Получение/установка уровней журнала

Вызовите этот метод без аргументов, например: CakeLog::levels() для получения текущей конфигурации уровня.

Чтобы добавить дополнительные уровни 'user0' и 'user1' к уровням журнала по умолчанию:

CakeLog::levels(array('user0, 'user1'));
// or
CakeLog::levels(array('user0, 'user1'), true);

результат:

array(
    0 => 'emergency',
    1 => 'alert',
    ...
    8 => 'user0',
    9 => 'user1',
);

Чтобы установить/заменить существующую конфигурацию, передайте массив со вторым аргументом, установленным в false.

CakeLog::levels(array('user0, 'user1'), false);

результат:

array(
     0 => 'user0',
     1 => 'user1',
);

Параметры

массив $levels необязательно массив()
массив
boolean $append необязательно true
true для добавления, false для замены

Возвращает

массив
Активные уровни журнала

notice()source public static

notice( string $message , string|array $scope array() )

Метод для записи информационных сообщений.

Параметры

строка $message
сообщение журнала
строка|массив $scope необязательно массив()

Область(и), в которой создаётся сообщение журнала. Для получения дополнительной информации о областях ведения журнала см. CakeLog::config().

Возвращает

boolean
Успех

stream()source public static

stream( string $streamName )

Получает движок ведения журнала из активных потоков.

Параметры

строка $streamName
Имя ключа настроенного потока для получения.

Возвращает

смешанное
экземпляр BaseLog или false, если не найден

См.

BaseLog

warning()source public static

warning( string $message , string|array $scope array() )

Метод для записи предупреждающих сообщений.

Параметры

строка $message
сообщение журнала
строка|массив $scope необязательно массив()

Область(и), в которой создаётся сообщение журнала. Для получения дополнительной информации о областях ведения журнала см. CakeLog::config().

Возвращает

boolean
Успех

write()source public static

write( integer|string $type , string $message , string|array $scope array() )

Записывает заданное сообщение и тип во все настроенные адаптеры журналов. Настроенные адаптеры передаются как $type, так и $message переменные. $type — это одна из следующих строк/значений.

Типы:

  • LOG_EMERG => 'emergency',
  • LOG_ALERT => 'alert',
  • LOG_CRIT => 'critical',
  • LOG_ERR => 'error',
  • LOG_WARNING => 'warning',
  • LOG_NOTICE => 'notice',
  • LOG_INFO => 'info',
  • LOG_DEBUG => 'debug',

Использование:

Запись сообщения в журнал 'warning':

CakeLog::write('warning', 'Stuff is broken here');

Параметры

целое число|строка $type

Тип сообщения, записываемого в журнал. Когда значение является целым числом или строкой, соответствующей распознанным уровням, оно будет обрабатываться как уровни журналов. В противном случае оно обрабатывается как область.

строка $message
Содержание сообщения для записи в журнал
строка|массив $scope необязательно массив()

Область(и), в которой создаётся сообщение журнала. Для получения дополнительной информации о областях ведения журнала см. CakeLog::config().

Возвращает

boolean
Успех

Ссылка

http://book.cakephp.org/2.0/en/core-libraries/logging.html#writing-to-logs

Подробное описание свойств

$_Collectionsource

protected static LogEngineCollection

Коллекция LogEngine

$_defaultLevelssource

protected static array

Уровни регистрации по умолчанию, подробно описанные в RFC 5424 http://tools.ietf.org/html/rfc5424

В Windows меньше уровней, поэтому notice, info и debug совпадают. https://bugs.php.net/bug.php?id=18090

array(
    'emergency' => LOG_EMERG,
    'alert' => LOG_ALERT,
    'critical' => LOG_CRIT,
    'error' => LOG_ERR,
    'warning' => LOG_WARNING,
    'notice' => LOG_NOTICE,
    'info' => LOG_INFO,
    'debug' => LOG_DEBUG,
)

$_levelMapsource

protected static array

Карта уровней регистрации

$_levelssource

protected static array

Активные уровни регистрации для этого экземпляра.

© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/2.9/class-CakeLog.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API