Spec-Zone.ru › CakePHP 2.10

Класс 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
Ссылка: 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

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

  • $_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
    Метод-обёртка для записи сообщений об alert
  • 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() )

Метод-обёртка для записи сообщений об 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-streams

configured()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
для отключения

Исключения

CakeLogException

drop()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
для включения

Исключения

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 необязательно 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, если не найден

См. также

BaseLog

warning()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

Подробности свойств

$_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–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

Spec-Zone.ru

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