Spec-Zone.ru › Yii 1.1

CLogRouter

Пакет system.logging
Наследование class CLogRouter » CApplicationComponent » CComponent
Реализует IApplicationComponent
С 1.0
Исходный код framework/logging/CLogRouter.php
CLogRouter управляет маршрутами логов, которые записывают сообщения логов в различные носители.

Например, маршрут файла лога CFileLogRoute записывает сообщения логов в файлы логов. Маршрут логов электронной почты CEmailLogRoute отправляет сообщения логов по указанным адресам электронной почты. Подробнее о различных маршрутах логов см. CLogRoute.

Маршруты логов могут быть сконфигурированы в конфигурации приложения следующим образом:
array(
    'preload'=>array('log'), // preload log component when app starts
    'components'=>array(
        'log'=>array(
            'class'=>'CLogRouter',
            'routes'=>array(
                array(
                    'class'=>'CFileLogRoute',
                    'levels'=>'trace, info',
                    'categories'=>'system.*',
                ),
                array(
                    'class'=>'CEmailLogRoute',
                    'levels'=>'error, warning',
                    'emails'=>array('admin@example.com'),
                ),
            ),
        ),
    ),
)


Вы можете указать несколько маршрутов с различными условиями фильтрации и различными целевыми объектами, даже если маршруты одного типа.

Свойства Public

Свойство Тип Описание Определено
behaviors массив поведения, которые должны быть прикреплены к этому компоненту. CApplicationComponent
isInitialized boolean Проверяет, был ли инициализирован этот компонент приложения. CApplicationComponent
routes массив текущие инициализированные маршруты CLogRouter

Методы Public

Метод Описание Определено
__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() Сбор сообщений логов из логгера. CLogRouter
detachBehavior() Отсоединяет поведение от компонента. CComponent
detachBehaviors() Отсоединяет все поведения от компонента. CComponent
detachEventHandler() Отсоединяет существующий обработчик событий. CComponent
disableBehavior() Отключает прикрепленное поведение. CComponent
disableBehaviors() Отключает все прикрепленные поведения к этому компоненту. CComponent
enableBehavior() Включает прикрепленное поведение. CComponent
enableBehaviors() Включает все прикрепленные поведения к этому компоненту. CComponent
evaluateExpression() Вычисляет PHP выражение или обратный вызов в контексте этого компонента. CComponent
getEventHandlers() Возвращает список прикрепленных обработчиков событий для события. CComponent
getIsInitialized() Проверяет, был ли инициализирован этот компонент приложения. CApplicationComponent
getRoutes() Возвращает текущие инициализированные маршруты CLogRouter
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, есть ли у именованного события прикрепленные обработчики. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
init() Инициализирует этот компонент приложения. CLogRouter
processLogs() Сбор и обработка сообщений логов из логгера. CLogRouter
raiseEvent() Вызывает событие. CComponent
setRoutes() Устанавливает список конфигураций маршрутов. Каждый элемент массива представляет собой конфигурацию для одного маршрута и имеет следующую структуру массива:
  • class: указывает имя класса или псевдоним для класса маршрута.
  • name-value pairs: настраивают начальные значения свойств маршрута.
CLogRouter

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

routes свойство

public array getRoutes()
public void setRoutes(array $config)

текущие инициализированные маршруты

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

collectLogs() метод

public void collectLogs(CEvent $event)
$event CEvent параметр события
Исходный код: framework/logging/CLogRouter.php#100 (показать)
public function collectLogs($event)
{
    
$logger=Yii::getLogger();
    
$dumpLogs=isset($event->params['dumpLogs']) && $event->params['dumpLogs'];
    foreach(
$this->_routes as $route)
    {
        
/* @var $route CLogRoute */
        
if($route->enabled)
            
$route->collectLogs($logger,$dumpLogs);
    }
}

Сбор сообщений логов из логгера. Этот метод является обработчиком события CLogger::onFlush.

getRoutes() метод

public array getRoutes()
{return} массив текущие инициализированные маршруты
Исходный код: framework/logging/CLogRouter.php#76 (показать)
public function getRoutes()
{
    return new 
CMap($this->_routes);
}

init() метод

public void init()
Исходный код: framework/logging/CLogRouter.php#60 (показать)
public function init()
{
    
parent::init();
    foreach(
$this->_routes as $name=>$route)
    {
        
$route=Yii::createComponent($route);
        
$route->init();
        
$this->_routes[$name]=$route;
    }
    
Yii::getLogger()->attachEventHandler('onFlush',array($this,'collectLogs'));
    
Yii::app()->attachEventHandler('onEndRequest',array($this,'processLogs'));
}

Инициализирует этот компонент приложения. Этот метод требуется интерфейсом IApplicationComponent.

processLogs() метод (доступен с версии v1.1.0)

public void processLogs()
Исходный код: framework/logging/CLogRouter.php#117 (показать)
public function processLogs()
{
    
$logger=Yii::getLogger();
    
$logger->flush(true);
}

Сбор и обработка сообщений журнала из логгера. Этот метод является обработчиком события CApplication::onEndRequest.

setRoutes() метод

public void setRoutes(array $config)
$config массив список конфигураций маршрутов. Каждый элемент массива представляет конфигурацию для отдельного маршрута и имеет следующую структуру массива:
  • class: указывает имя класса или псевдоним для класса маршрута.
  • name-value pairs: настраивают начальные значения свойств маршрута.
Исходный код: framework/logging/CLogRouter.php#89 (показать)
public function setRoutes($config)
{
    foreach(
$config as $name=>$route)
        
$this->_routes[$name]=$route;
}

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

Spec-Zone.ru

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