Класс 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() для получения более подробной информации об областях.
Ссылка: http://book.cakephp.org/2.0/ru/core-libraries/logging.html#logging
Авторское право: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: Cake/Log/CakeLog.php
Краткое описание свойств
- Класс LogEngineCollection
-
arrayУровни журналов по умолчанию, как подробно описано в RFC 5424 http://tools.ietf.org/html/rfc5424
- Сопоставленные уровни журналов
array - Активные уровни журналов для этого экземпляра.
array
Краткое описание методов
- Инициализировать ObjectCollection
- Метод для записи сообщений об оповещениях
-
Настроить и добавить новый поток регистрации в CakeLog. Вы можете использовать логгеры из app/Log/Engine, используя app.loggername, или любой плагин/Log/Engine, используя plugin.loggername.
- Возвращает имена ключей текущих активных потоков
- Метод для записи критических сообщений
- Метод для записи сообщений отладки
- Сбросить уровни журналов до исходных значений
-
Отключить поток. Отключение потока предотвратит получение этого потоком любых сообщений до его повторного включения.
-
Удаляет поток из активных потоков. После удаления потока сообщения в него больше не будут отправляться.
- Метод для записи сообщений об аварийных ситуациях
-
Включить поток. Потоки, которые были ранее отключены, могут быть повторно включены с помощью этого метода.
- Проверяет, включен ли $streamName
- Метод для записи сообщений об ошибках
- Метод для записи информационных сообщений
- Получение/установка уровней журналов
- Метод для записи уведомлений
- Получение компонента ведения журнала из активных потоков.
- Метод для записи предупреждающих сообщений
-
Записывает заданное сообщение и тип во все настроенные адаптеры журналов. Настроенные адаптеры получают как $type, так и $message. $type — это одна из следующих строк/значений.
Подробное описание методов
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-streamsconfigured()source public static
configured( )
Возвращает имена ключей текущих активных потоков
Возвращает
массивМассив настроенных потоков журналов.
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 - для отключения
Выбрасывает
CakeLogExceptiondrop()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 - для включения
Выбрасывает
CakeLogExceptionenabled()source public static
enabled( string $streamName )
Проверяет, включен ли $streamName
Параметры
- строка
$streamName - для проверки
Возвращает
booleanВыбрасывает
CakeLogExceptionerror()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необязательно массив() - массив
- логическое значение
$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, если не найдено
См. также
BaseLogwarning()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Подробности свойств
$_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,
)
© 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.
http://api.cakephp.org/2.8/class-CakeLog.html