CLogRouter
| Пакет | system.logging |
|---|---|
| Наследование | class CLogRouter » CApplicationComponent » CComponent |
| Реализует | IApplicationComponent |
| С | 1.0 |
| Исходный код | framework/logging/CLogRouter.php |
CLogRouter управляет маршрутами логов, которые записывают сообщения логов в различные носители.
Например, маршрут файла лога CFileLogRoute записывает сообщения логов в файлы логов. Маршрут логов электронной почты CEmailLogRoute отправляет сообщения логов по указанным адресам электронной почты. Подробнее о различных маршрутах логов см. CLogRoute.
Маршруты логов могут быть сконфигурированы в конфигурации приложения следующим образом:
Вы можете указать несколько маршрутов с различными условиями фильтрации и различными целевыми объектами, даже если маршруты одного типа.
Например, маршрут файла лога 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() | Устанавливает список конфигураций маршрутов. Каждый элемент массива представляет собой конфигурацию для одного маршрута и имеет следующую структуру массива:
| 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 | массив | список конфигураций маршрутов. Каждый элемент массива представляет конфигурацию для отдельного маршрута и имеет следующую структуру массива:
|
Исходный код: 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