Spec-Zone.ru › Yii 1.1

CLogRoute

Пакет system.logging
Наследование абстрактный класс CLogRoute » CComponent
Подклассы CDbLogRoute, CEmailLogRoute, CFileLogRoute, CSysLogRoute, CWebLogRoute
С версии 1.0
Исходный код framework/logging/CLogRoute.php
CLogRoute — базовый класс для всех классов маршрутизации логов.

Объект маршрутизации логов получает сообщения логов из логгера и отправляет их куда-либо, например, в файлы или по электронной почте. Сообщения могут быть отфильтрованы перед отправкой в пункт назначения. Фильтры включают фильтр уровня лога и фильтр категории лога.

Для указания фильтра уровня задайте свойство levels, которое принимает строку с запятыми или пробелами, содержащую нужные имена уровней (например, 'Error, Debug'). Для указания фильтра категории задайте свойство categories, которое принимает строку с запятыми или пробелами, содержащую нужные имена категорий (например, 'System.Web, System.IO').

Фильтры уровня и категории комбинируются, т.е. только сообщения, удовлетворяющие обоим условиям фильтра, будут возвращены.

Свойства

Свойство Тип Описание Определено в
categories mixed массив категорий или строка со списком, разделённым запятыми или пробелами. CLogRoute
enabled boolean включить ли этот маршрут логов. CLogRoute
except mixed массив категорий или строка со списком, разделённым запятыми или пробелами, которые ИСКЛЮЧАЮТСЯ из логов. CLogRoute
filter mixed дополнительный фильтр (например, CLogFilter), который можно применить к сообщениям логов. CLogRoute
levels string список уровней, разделённых запятыми или пробелами. CLogRoute
logs array логи, собранные до сих пор этим маршрутом логов. CLogRoute

Методы

Метод Описание Определено в
__call() Вызывает метод, который не является методом класса. CComponent
__get() Возвращает значение свойства, список обработчиков событий или поведение на основе его имени. CComponent
__isset() Проверяет, является ли значение свойства null. CComponent
__set() Устанавливает значение свойства компонента. CComponent
__unset() Устанавливает свойство компонента в значение null. CComponent
asa() Возвращает объект поведения по имени. CComponent
attachBehavior() Прикрепляет поведение к этому компоненту. CComponent
attachBehaviors() Прикрепляет список поведений к компоненту. CComponent
attachEventHandler() Прикрепляет обработчик событий к событию. CComponent
canGetProperty() Определяет, можно ли считать свойство. CComponent
canSetProperty() Определяет, можно ли установить свойство. CComponent
collectLogs() Извлекает отфильтрованные сообщения логов из логгера для дальнейшей обработки. CLogRoute
detachBehavior() Открепляет поведение от компонента. CComponent
detachBehaviors() Открепляет все поведения от компонента. CComponent
detachEventHandler() Открепляет существующий обработчик событий. CComponent
disableBehavior() Отключает прикреплённое поведение. CComponent
disableBehaviors() Отключает все прикреплённые поведения к этому компоненту. CComponent
enableBehavior() Включает прикреплённое поведение. CComponent
enableBehaviors() Включает все прикреплённые к этому компоненту поведения. CComponent
evaluateExpression() Вычисляет PHP-выражение или обратный вызов в контексте этого компонента. CComponent
getEventHandlers() Возвращает список прикреплённых обработчиков событий для события. CComponent
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, имеет ли указанное событие прикреплённых обработчиков. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
init() Инициализирует маршрут. CLogRoute
raiseEvent() Вызывает событие. CComponent

Защищённые методы

Метод Описание Определено в
formatLogMessage() Форматирует сообщение лога на основе различных полей. CLogRoute
processLogs() Обрабатывает сообщения логов и отправляет их в определённый пункт назначения. CLogRoute

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

categories свойство

public mixed $categories;

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

enabled свойство

public boolean $enabled;

включить ли этот маршрут логов. По умолчанию true.

except свойство

public mixed $except;

массив категорий или строка со списком, разделённым запятыми или пробелами, которые ИСКЛЮЧАЮТСЯ из логов. По умолчанию пустой массив, что означает, что никакие категории не исключаются. Это исключит категории после выполнения $categories.

filter свойство

public mixed $filter;

дополнительный фильтр (например, CLogFilter), который можно применить к сообщениям логов. Значение этого свойства будет передано в Yii::createComponent для создания объекта фильтра логов. В результате это может быть строка, представляющая имя класса фильтра, или массив, представляющий конфигурацию фильтра. В общем случае класс фильтра логов должен реализовывать интерфейс ILogFilter. Если нужно применить несколько фильтров, можно использовать CChainedLogFilter. По умолчанию null, что означает отсутствие фильтра.

levels свойство

public string $levels;

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

logs свойство (доступно с версии 1.1.0)

public array $logs;

логи, собранные до сих пор этим маршрутом логов.

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

collectLogs() метод

public void collectLogs(CLogger $logger, boolean $processLogs=false)
$logger CLogger экземпляр логгера
$processLogs boolean обрабатывать ли логи после их сбора из логгера
Исходный код: framework/logging/CLogRoute.php#95 (показать)
public function collectLogs($logger, $processLogs=false)
{
    
$logs=$logger->getLogs($this->levels,$this->categories,$this->except);
    
$this->logs=empty($this->logs) ? $logs : array_merge($this->logs,$logs);
    if(
$processLogs && !empty($this->logs))
    {
        if(
$this->filter!==null)
            
Yii::createComponent($this->filter)->filter($this->logs);
        if(
$this->logs!==array())
            
$this->processLogs($this->logs);
        
$this->logs=array();
    }
}

Получает отфильтрованные сообщения логов из логгера для дальнейшей обработки.

formatLogMessage() метод

protected string formatLogMessage(string $message, integer $level, string $category, integer $time)
$message string содержание сообщения
$level integer уровень сообщения
$category string категория сообщения
$time integer метка времени
{return} string отформатированное сообщение
Исходный код: framework/logging/CLogRoute.php#85 (показать)
protected function formatLogMessage($message,$level,$category,$time)
{
    return @
date('Y/m/d H:i:s',$time)." [$level] [$category] $message\n";
}

Форматирует сообщение лога, используя различные поля.

init() метод

public void init()
Исходный код: framework/logging/CLogRoute.php#73 (показать)
public function init()
{
}

Инициализирует маршрут. Этот метод вызывается после создания маршрута менеджером маршрутов.

processLogs() метод

abstract protected void processLogs(array $logs)
$logs array список сообщений. Каждый элемент массива представляет одно сообщение со следующей структурой: массив ([0] => сообщение (строка) [1] => уровень (строка) [2] => категория (строка) [3] => метка времени (число с плавающей точкой, полученное с помощью microtime(true));
Исходный код: framework/logging/CLogRoute.php#120 (показать)
abstract protected function processLogs($logs);

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

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CLogRoute

Spec-Zone.ru

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