Yii Framework v1.1.10 绫诲弬鑰

CLogRouter

system.logging
缁ф壙 class CLogRouter » CApplicationComponent » CComponent
瀹炵幇 IApplicationComponent
婧愯嚜 1.0
鐗堟湰 $Id: CLogRouter.php 3426 2011-10-25 00:01:09Z alexander.makarow $
婧愮爜 framework/logging/CLogRouter.php
CLogRouter绠$悊鐢ㄤ笉鍚屽獟浣撹褰曟棩蹇椾俊鎭殑鏃ュ織璺敱銆

渚嬪锛屼竴涓枃浠舵棩蹇楄矾鐢 CFileLogRoute 璁板綍鏃ュ織淇℃伅銆 鍦ㄦ棩蹇楁枃浠朵腑涓涓偖浠舵棩蹇楄矾鐢 CEmailLogRoute 鍙戦佹棩蹇椾俊鎭埌鎸囧畾鐨勯偖浠跺湴鍧 鍙傝CLogRoute 鑾峰彇鏇村鍏充簬涓嶅悓鏃ュ織璺敱鐨勪俊鎭



鍦ㄥ簲鐢ㄧ▼搴忛厤缃腑鏃ュ織璺敱鍙兘鍍忎笅闈㈣繖鏍烽厤缃細
array(
    'preload'=>array('log'), // 棰勮浇鍏ユ棩蹇楃粍浠跺湪搴旂敤绋嬪簭寮濮嬫椂
    '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'),
                ),
            ),
        ),
    ),
)


浣犺兘鎸囧畾澶氫釜甯︽湁涓嶅悓杩囨护鏉′欢鍜屼笉鍚岀洰鏍囩殑璺敱锛 鍗充娇璺敱鏄浉鍚岀被鍨嬬殑銆

鍏叡灞炴

闅愯棌缁ф壙灞炴

灞炴绫诲瀷鎻忚堪瀹氫箟鍦
behaviors array 杩欎釜搴旂敤缁勪欢闄勫姞鐨勮涓恒 杩欐琛屼负灏嗗湪搴旂敤缁勪欢璋冪敤init鏃堕檮鍔犲湪搴旂敤缁勪欢涓娿 璇峰弬鐓CModel::behaviors濡備綍鎸囧畾姝ゅ睘鎬у笺 CApplicationComponent
isInitialized boolean 妫鏌ュ簲鐢ㄧ粍浠舵槸鍚﹀凡缁忓垵濮嬪寲銆 CApplicationComponent
routes array 褰撳墠宸插垵濮嬪寲鐨勮矾鐢 CLogRouter

鍏叡鏂规硶

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
__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() 璁$畻涓涓狿HP琛ㄨ揪寮忥紝鎴栨牴鎹粍浠朵笂涓嬫枃鎵ц鍥炶皟銆 CComponent
getEventHandlers() 杩斿洖涓涓簨浠剁殑闄勫姞澶勭悊绋嬪簭鍒楄〃銆 CComponent
getIsInitialized() 妫鏌ュ簲鐢ㄧ粍浠舵槸鍚﹀凡缁忓垵濮嬪寲銆 CApplicationComponent
getRoutes() 杩斿洖褰撳墠宸插垵濮嬪寲鐨勮矾鐢 CLogRouter
hasEvent() 纭畾涓涓簨浠舵槸鍚﹀畾涔夈 CComponent
hasEventHandler() 妫鏌ヤ簨浠舵槸鍚︽湁闄勫姞鐨勫鐞嗙▼搴忋 CComponent
hasProperty() 纭畾灞炴ф槸鍚﹁瀹氫箟銆 CComponent
init() 鍒濆鍖栧簲鐢ㄧ▼搴忕粍浠躲 CLogRouter
processLogs() 鍦 logger 涓敹闆嗗拰澶勭悊鏃ュ織淇℃伅銆 CLogRouter
raiseEvent() 鍙戣捣涓涓簨浠躲 CComponent
setRoutes() 璁剧疆璺敱閰嶇疆鍒楄〃銆 姣忎釜鏁扮粍鍏冪礌琛ㄧず涓涓矾鐢遍厤缃苟涓旀湁涓嬮潰鐨勬暟缁勭粨鏋:
  • class: 鎸囧畾绫诲悕鎴栬矾鐢辩被鐨勫埆鍚嶃
  • name-value 閿煎锛岄厤缃矾鐢辩殑鍒濆灞炴у笺
CLogRouter

灞炴ц缁

routes 灞炴
public array getRoutes()
public void setRoutes(array $config)

褰撳墠宸插垵濮嬪寲鐨勮矾鐢

鏂规硶璇︾粏

collectLogs() 鏂规硶
public void collectLogs(CEvent $event)
$event CEvent 浜嬩欢鍙傛暟
婧愮爜锛 framework/logging/CLogRouter.php#101 (鏄剧ず)
public function collectLogs($event)
{
    
$logger=Yii::getLogger();
    
$dumpLogs=isset($event->params['dumpLogs']) && $event->params['dumpLogs'];
    foreach(
$this->_routes as $route)
    {
        if(
$route->enabled)
            
$route->collectLogs($logger,$dumpLogs);
    }
}

浠庝竴涓棩蹇楄褰曞櫒鎼滈泦鏃ュ織淇℃伅銆 杩欎釜鏂规硶鏄 CLogger::onFlush 浜嬩欢鐨勪簨浠跺鐞嗙▼搴忋

getRoutes() 鏂规硶
public array getRoutes()
{return} array 褰撳墠宸插垵濮嬪寲鐨勮矾鐢
婧愮爜锛 framework/logging/CLogRouter.php#77 (鏄剧ず)
public function getRoutes()
{
    return new 
CMap($this->_routes);
}

init() 鏂规硶
public void init()
婧愮爜锛 framework/logging/CLogRouter.php#61 (鏄剧ず)
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(CEvent $event)
$event CEvent 浜嬩欢鍙傛暟
婧愮爜锛 framework/logging/CLogRouter.php#118 (鏄剧ず)
public function processLogs($event)
{
    
$logger=Yii::getLogger();
    foreach(
$this->_routes as $route)
    {
        if(
$route->enabled)
            
$route->collectLogs($logger,true);
    }
}

鍦 logger 涓敹闆嗗拰澶勭悊鏃ュ織淇℃伅銆 杩欎釜鏂规硶鏄 CApplication::onEndRequest 浜嬩欢鐨勪竴涓簨浠跺鐞嗙▼搴忋

setRoutes() 鏂规硶
public void setRoutes(array $config)
$config array 璺敱閰嶇疆鍒楄〃銆 姣忎釜鏁扮粍鍏冪礌琛ㄧず涓涓矾鐢遍厤缃苟涓旀湁涓嬮潰鐨勬暟缁勭粨鏋:
  • class: 鎸囧畾绫诲悕鎴栬矾鐢辩被鐨勫埆鍚嶃
  • name-value 閿煎锛岄厤缃矾鐢辩殑鍒濆灞炴у笺
婧愮爜锛 framework/logging/CLogRouter.php#90 (鏄剧ず)
public function setRoutes($config)
{
    foreach(
$config as $name=>$route)
        
$this->_routes[$name]=$route;
}

Copyright © 2008-2011 by Yii Software LLC
All Rights Reserved.