Класс 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().
Ссылка: https://book.cakephp.org/2.0/ru/core-libraries/logging.html#logging
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Log/CakeLog.php
Краткое описание свойств
- Класс LogEngineCollection
-
arrayУровни логгирования по умолчанию, как указано в RFC 5424 http://tools.ietf.org/html/rfc5424
- Отображение уровней логгирования
array - Активные уровни логгирования для этого экземпляра.
array
Краткое описание методов
- Инициализация ObjectCollection
- Метод-обёртка для записи сообщений об alert
-
Настройка и добавление нового потока логгирования в 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() )
Метод-обёртка для записи сообщений об alert
Параметры
- строка
$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Ссылка
https://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необязательно array() Область(и), в которой создаётся сообщение журнала. Для получения дополнительной информации о областях ведения журнала см. CakeLog::config().
Возвращаемое значение
booleanУспех
debug()source public static
debug( string $message , string|array $scope array() )
Удобный метод для записи отладочных сообщений
Параметры
- строка
$message - сообщение журнала
- строка|массив
$scopeнеобязательно array() Область(и), в которой создаётся сообщение журнала. Для получения дополнительной информации о областях ведения журнала см. 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необязательно array() Область(и), в которой создаётся сообщение журнала. Для получения дополнительной информации о областях ведения журнала см. 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необязательно array() Область(и), в которой создаётся сообщение журнала. Для получения дополнительной информации о областях ведения журнала см. CakeLog::config().
Возвращаемое значение
booleanУспех
info()source public static
info( string $message , string|array $scope array() )
Удобный метод для записи информационных сообщений
Параметры
- строка
$message - сообщение журнала
- строка|массив
$scopeнеобязательно array() Область(и), в которой создаётся сообщение журнала. Для получения дополнительной информации о областях ведения журнала см. 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необязательно array() - массив
- логическое значение
$appendнеобязательно true - true для добавления, false для замены
Возвращаемое значение
массивАктивные уровни журналов
notice()source public static
notice( string $message , string|array $scope array() )
Удобный метод для записи сообщений о внимании
Параметры
- строка
$message - сообщение журнала
- строка|массив
$scopeнеобязательно array() Область(и), в которой создаётся сообщение журнала. Для получения дополнительной информации о областях ведения журнала см. CakeLog::config().
Возвращаемое значение
booleanУспех
stream()source public static
stream( string $streamName )
Получает движок ведения журнала из активных потоков.
Параметры
- строка
$streamName - Имя ключа настроенного потока для получения.
Возвращаемое значение
mixedэкземпляр BaseLog или false, если не найден
См. также
BaseLogwarning()source public static
warning( string $message , string|array $scope array() )
Удобный метод для записи предупреждающих сообщений
Параметры
- строка
$message - сообщение журнала
- строка|массив
$scopeнеобязательно array() Область(и), в которой создаётся сообщение журнала. Для получения дополнительной информации о областях ведения журнала см. 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необязательно array() Область(и), в которой создаётся сообщение журнала. Для получения дополнительной информации о областях ведения журнала см. CakeLog::config().
Возвращаемое значение
booleanУспех
Ссылка
https://book.cakephp.org/2.0/ru/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–2017 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.10/class-CakeLog.html