Yii Framework v1.1.10 绫诲弬鑰

CLogFilter

system.logging
缁ф壙 class CLogFilter » CComponent
鐗堟湰 $Id: CLogFilter.php 3515 2011-12-28 12:29:24Z mdomba $
婧愮爜 framework/logging/CLogFilter.php
CLogFilter鍦ㄨ涓涓棩蹇楄矾鐢卞鐞嗕箣鍓嶉澶勭悊宸茶褰曠殑鏃ュ織淇℃伅銆

CLogFilter鐨勭敤娉曟槸锛屼竴涓棩蹇楄矾鐢遍澶勭悊宸茶褰曠殑淇℃伅鍦ㄥ畠浠璺敱澶勭悊鍓嶃 CLogFilter鐨勯粯璁ゅ仛娉曟槸 棰勫鐞嗛檮鍔犵殑涓婁笅鏂囦俊鎭埌璁板綍鐨勬秷鎭 鐗瑰埆鍦伴氳繃璁剧疆 logVars 棰勫畾涔夌殑PHP鍙橀噺璇稿 $_SERVER, $_POST绛夌瓑銆傝兘琚繚瀛樹负涓鏉℃棩蹇椾俊鎭紝瀹冨彲浠ュ府鍔╄瘑鍒/璋冭瘯 閬囧埌鐨勯棶棰樸

鍏叡灞炴

闅愯棌缁ф壙灞炴

灞炴绫诲瀷鎻忚堪瀹氫箟鍦
logUser boolean 鏄惁璁板綍褰撳墠鐢ㄦ埛鍚嶅拰ID銆傞粯璁や负true銆 CLogFilter
logVars array 瑕佽璁板綍鐨凱HP棰勫畾涔夊彉閲忓垪琛ㄣ 娉ㄦ剰涓涓彉閲忓繀椤诲彲閫氳繃$GLOBALS璁块棶銆傝涓嶇劧锛屽畠涓嶄細琚褰曘 CLogFilter
prefixSession boolean 鏄惁鐢ㄥ綋鍓嶇敤鎴风殑session ID涓烘瘡鏉℃棩蹇椾俊鎭姞鍓嶇紑銆 榛樿鏄痜alse銆 CLogFilter
prefixUser boolean 鏄惁涓烘瘡涓鏉℃棩蹇楃敤褰撳墠鐢ㄦ埛鐨凘link CWebUser::name name} 鍜 ID銆 榛樿涓篺alse銆 CLogFilter

鍙椾繚鎶ゅ睘鎬

闅愯棌缁ф壙灞炴

灞炴绫诲瀷鎻忚堪瀹氫箟鍦
context string 鐢熸垚瑕佽璁板綍杩涙棩蹇楃殑涓婁笅鏂囦俊鎭 CLogFilter

鍏叡鏂规硶

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
__call() 濡傛灉绫讳腑娌℃湁璋冪殑鏂规硶鍚嶏紝鍒欒皟鐢ㄨ繖涓柟娉曘 CComponent
__get() 杩斿洖涓涓睘鎬у笺佷竴涓簨浠跺鐞嗙▼搴忓垪琛ㄦ垨涓涓涓哄悕绉般 CComponent
__isset() 妫鏌ヤ竴涓睘鎬ф槸鍚︿负null銆 CComponent
__set() 璁剧疆涓涓粍浠剁殑灞炴у笺 CComponent
__unset() 璁剧疆涓涓粍浠剁殑灞炴т负null銆 CComponent
asa() 杩斿洖杩欎釜鍚嶅瓧鐨勮涓哄璞° CComponent
attachBehavior() 闄勫姞涓涓涓哄埌缁勪欢銆 CComponent
attachBehaviors() 闄勫姞涓涓涓哄垪琛ㄥ埌缁勪欢銆 CComponent
attachEventHandler() 涓轰簨浠堕檮鍔犱竴涓簨浠跺鐞嗙▼搴忋 CComponent
canGetProperty() 纭畾灞炴ф槸鍚﹀彲璇汇 CComponent
canSetProperty() 纭畾灞炴ф槸鍚﹀彲鍐欍 CComponent
detachBehavior() 浠庣粍浠朵腑鍒嗙涓涓涓恒 CComponent
detachBehaviors() 浠庣粍浠朵腑鍒嗙鎵鏈夎涓恒 CComponent
detachEventHandler() 鍒嗙涓涓瓨鍦ㄧ殑浜嬩欢澶勭悊绋嬪簭銆 CComponent
disableBehavior() 绂佺敤涓涓檮鍔犺涓恒 CComponent
disableBehaviors() 绂佺敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 CComponent
enableBehavior() 鍚敤涓涓檮鍔犺涓恒 CComponent
enableBehaviors() 鍚敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 CComponent
evaluateExpression() 璁$畻涓涓狿HP琛ㄨ揪寮忥紝鎴栨牴鎹粍浠朵笂涓嬫枃鎵ц鍥炶皟銆 CComponent
filter() 杩囨护缁欏畾鐨勬棩蹇椾俊鎭 CLogFilter
getEventHandlers() 杩斿洖涓涓簨浠剁殑闄勫姞澶勭悊绋嬪簭鍒楄〃銆 CComponent
hasEvent() 纭畾涓涓簨浠舵槸鍚﹀畾涔夈 CComponent
hasEventHandler() 妫鏌ヤ簨浠舵槸鍚︽湁闄勫姞鐨勫鐞嗙▼搴忋 CComponent
hasProperty() 纭畾灞炴ф槸鍚﹁瀹氫箟銆 CComponent
raiseEvent() 鍙戣捣涓涓簨浠躲 CComponent

鍙椾繚鎶ゆ柟娉

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
format() 鏍煎紡鍖栨棩蹇椾俊鎭 CLogFilter
getContext() 鐢熸垚瑕佽璁板綍杩涙棩蹇楃殑涓婁笅鏂囦俊鎭 CLogFilter

灞炴ц缁

context 灞炴 鍙
protected string getContext()

鐢熸垚瑕佽璁板綍杩涙棩蹇楃殑涓婁笅鏂囦俊鎭 榛樿鐨勫疄鐜板皢dump鐢ㄦ埛淇℃伅,绯荤粺鍙橀噺,绛夌瓑銆

logUser 灞炴
public boolean $logUser;

鏄惁璁板綍褰撳墠鐢ㄦ埛鍚嶅拰ID銆傞粯璁や负true銆

logVars 灞炴
public array $logVars;

瑕佽璁板綍鐨凱HP棰勫畾涔夊彉閲忓垪琛ㄣ 娉ㄦ剰涓涓彉閲忓繀椤诲彲閫氳繃$GLOBALS璁块棶銆傝涓嶇劧锛屽畠涓嶄細琚褰曘

prefixSession 灞炴
public boolean $prefixSession;

鏄惁鐢ㄥ綋鍓嶇敤鎴风殑session ID涓烘瘡鏉℃棩蹇椾俊鎭姞鍓嶇紑銆 榛樿鏄痜alse銆

prefixUser 灞炴
public boolean $prefixUser;

鏄惁涓烘瘡涓鏉℃棩蹇楃敤褰撳墠鐢ㄦ埛鐨凘link CWebUser::name name} 鍜 ID銆 榛樿涓篺alse銆

鏂规硶璇︾粏

filter() 鏂规硶
public array filter(array &$logs)
$logs array 鏃ュ織淇℃伅
{return} array
婧愮爜锛 framework/logging/CLogFilter.php#56 (鏄剧ず)
public function filter(&$logs)
{
    if (!empty(
$logs))
    {
        if((
$message=$this->getContext())!=='')
            
array_unshift($logs,array($message,CLogger::LEVEL_INFO,'application',YII_BEGIN_TIME));
        
$this->format($logs);
    }
    return 
$logs;
}

杩囨护缁欏畾鐨勬棩蹇椾俊鎭 杩欐槸CLogFilter鐨勪富瑕佹柟娉.銆 瀹冮氳繃鍔犲叆涓婁笅鏂囦俊鎭潵澶勭悊鐨勬棩蹇楁秷鎭

format() 鏂规硶
protected void format(array &$logs)
$logs array 鏃ュ織淇℃伅
婧愮爜锛 framework/logging/CLogFilter.php#74 (鏄剧ず)
protected function format(&$logs)
{
    
$prefix='';
    if(
$this->prefixSession && ($id=session_id())!=='')
        
$prefix.="[$id]";
    if(
$this->prefixUser && ($user=Yii::app()->getComponent('user',false))!==null)
        
$prefix.='['.$user->getName().']['.$user->getId().']';
    if(
$prefix!=='')
    {
        foreach(
$logs as &$log)
            
$log[0]=$prefix.' '.$log[0];
    }
}

鏍煎紡鍖栨棩蹇椾俊鎭 榛樿鏄疄鐜版槸鐢╯ession ID缁欐瘡涓鏉′俊鎭姞鍓嶇紑銆 濡傛灉 prefixSession 璁剧疆涓簍rue銆傚墠缂涔熷彲浠ユ槸 褰撳墠鐢ㄦ埛鐨勫悕绉板拰ID銆 濡傛灉 prefixUser 璁剧疆涓簍rue銆

getContext() 鏂规硶
protected string getContext()
{return} string 涓婁笅鏂囦俊鎭傚鏋滄槸涓涓┖瀛楃涓,鎰忓懗鐫娌℃湁涓婁笅鏂囦俊鎭
婧愮爜锛 framework/logging/CLogFilter.php#93 (鏄剧ず)
protected function getContext()
{
    
$context=array();
    if(
$this->logUser && ($user=Yii::app()->getComponent('user',false))!==null)
        
$context[]='User: '.$user->getName().' (ID: '.$user->getId().')';

    foreach(
$this->logVars as $name)
    {
        if(!empty(
$GLOBALS[$name]))
            
$context[]="\${$name}=".var_export($GLOBALS[$name],true);
    }

    return 
implode("\n\n",$context);
}

鐢熸垚瑕佽璁板綍杩涙棩蹇楃殑涓婁笅鏂囦俊鎭 榛樿鐨勫疄鐜板皢dump鐢ㄦ埛淇℃伅,绯荤粺鍙橀噺,绛夌瓑銆

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