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 鑾峰彇鏇村鍏充簬涓嶅悓鏃ュ織璺敱鐨勪俊鎭
鍦ㄥ簲鐢ㄧ▼搴忛厤缃腑鏃ュ織璺敱鍙兘鍍忎笅闈㈣繖鏍烽厤缃細
浣犺兘鎸囧畾澶氫釜甯︽湁涓嶅悓杩囨护鏉′欢鍜屼笉鍚岀洰鏍囩殑璺敱锛 鍗充娇璺敱鏄浉鍚岀被鍨嬬殑銆
渚嬪锛屼竴涓枃浠舵棩蹇楄矾鐢 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() | 璁剧疆璺敱閰嶇疆鍒楄〃銆
姣忎釜鏁扮粍鍏冪礌琛ㄧず涓涓矾鐢遍厤缃苟涓旀湁涓嬮潰鐨勬暟缁勭粨鏋:
|
CLogRouter |
灞炴ц缁
routes
灞炴
褰撳墠宸插垵濮嬪寲鐨勮矾鐢
鏂规硶璇︾粏
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 | 璺敱閰嶇疆鍒楄〃銆
姣忎釜鏁扮粍鍏冪礌琛ㄧず涓涓矾鐢遍厤缃苟涓旀湁涓嬮潰鐨勬暟缁勭粨鏋:
|
婧愮爜锛 framework/logging/CLogRouter.php#90 (鏄剧ず)
public function setRoutes($config)
{
foreach($config as $name=>$route)
$this->_routes[$name]=$route;
}