You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.8 KiB
61 lines
1.8 KiB
<?php |
|
/** |
|
* @link http://www.yiiframework.com/ |
|
* @copyright Copyright © 2008-2011 Yii Software LLC |
|
* @license http://www.yiiframework.com/license/ |
|
*/ |
|
|
|
/** |
|
* CWebLogRoute shows the log content in Web page. |
|
* |
|
* The log content can appear either at the end of the current Web page |
|
* or in FireBug console window (if {@link showInFireBug} is set true). |
|
* |
|
* @author Qiang Xue <qiang.xue@gmail.com> |
|
* @since 2.0 |
|
*/ |
|
class CWebLogRoute extends CLogRoute |
|
{ |
|
/** |
|
* @var boolean whether the log should be displayed in FireBug instead of browser window. Defaults to false. |
|
*/ |
|
public $showInFireBug = false; |
|
|
|
/** |
|
* @var boolean whether the log should be ignored in FireBug for ajax calls. Defaults to true. |
|
* This option should be used carefully, because an ajax call returns all output as a result data. |
|
* For example if the ajax call expects a json type result any output from the logger will cause ajax call to fail. |
|
*/ |
|
public $ignoreAjaxInFireBug = true; |
|
|
|
/** |
|
* Displays the log messages. |
|
* @param array $logs list of log messages |
|
*/ |
|
public function processLogs($logs) |
|
{ |
|
$this->render('log', $logs); |
|
} |
|
|
|
/** |
|
* Renders the view. |
|
* @param string $view the view name (file name without extension). The file is assumed to be located under framework/data/views. |
|
* @param array $data data to be passed to the view |
|
*/ |
|
protected function render($view, $data) |
|
{ |
|
$app = \Yii::$app; |
|
$isAjax = $app->getRequest()->getIsAjaxRequest(); |
|
|
|
if ($this->showInFireBug) |
|
{ |
|
if ($isAjax && $this->ignoreAjaxInFireBug) |
|
return; |
|
$view .= '-firebug'; |
|
} elseif (!($app instanceof CWebApplication) || $isAjax) |
|
return; |
|
|
|
$viewFile = YII_PATH . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . $view . '.php'; |
|
include($app->findLocalizedFile($viewFile, 'en')); |
|
} |
|
} |