diff --git a/framework/yii/debug/panels/LogPanel.php b/framework/yii/debug/panels/LogPanel.php index 91f62a7..e9de619 100644 --- a/framework/yii/debug/panels/LogPanel.php +++ b/framework/yii/debug/panels/LogPanel.php @@ -9,6 +9,8 @@ namespace yii\debug\panels; use Yii; use yii\debug\Panel; +use yii\helpers\Html; +use yii\log\Logger; /** * @author Qiang Xue @@ -33,7 +35,29 @@ EOD; public function getDetail() { - return '

Logs

'; + $rows = array(); + foreach ($this->data['messages'] as $log) { + $time = date('H:i:s.', $log[3]) . sprintf('%03d', (int)(($log[3] - (int)$log[3]) * 1000)); + $level = Logger::getLevelName($log[1]); + $message = Html::encode(wordwrap($log[0])); + $rows[] = "$time$level{$log[2]}$message"; + } + $rows = implode("\n", $rows); + return << + + + Time + Level + Category + Message + + + +$rows + + +EOD; } public function save() diff --git a/framework/yii/debug/panels/RequestPanel.php b/framework/yii/debug/panels/RequestPanel.php index 2db6d20..a587c59 100644 --- a/framework/yii/debug/panels/RequestPanel.php +++ b/framework/yii/debug/panels/RequestPanel.php @@ -65,10 +65,18 @@ EOD; { $rows = array(); foreach ($values as $name => $value) { - $rows[] = '' . Html::encode($name) . '' . Html::encode(var_export($value, true)) . ''; + $rows[] = '' . Html::encode($name) . '
' . Html::encode(var_export($value, true)) . '
'; } if (!empty($rows)) { - return "\n\n\n\n\n" . implode("\n", $rows) . "\n\n
NameValue
"; + $rows = implode("\n", $rows); + return << +NameValue + +$rows + + +EOD; } else { return 'Empty.'; } diff --git a/framework/yii/helpers/base/StringHelper.php b/framework/yii/helpers/base/StringHelper.php index 7fbb960..b19fb8f 100644 --- a/framework/yii/helpers/base/StringHelper.php +++ b/framework/yii/helpers/base/StringHelper.php @@ -24,6 +24,9 @@ class StringHelper */ public static function strlen($string) { + if (!function_exists('mb_strlen')) { + throw new \Exception('here'); + } return mb_strlen($string, '8bit'); } diff --git a/framework/yii/log/Logger.php b/framework/yii/log/Logger.php index e2b4807..d3d99c3 100644 --- a/framework/yii/log/Logger.php +++ b/framework/yii/log/Logger.php @@ -322,4 +322,22 @@ class Logger extends Component return $timings; } + + /** + * Returns the text display of the specified level. + * @param integer $level the message level, e.g. [[LEVEL_ERROR]], [[LEVEL_WARNING]]. + * @return string the text display of the level + */ + public static function getLevelName($level) + { + static $levels = array( + self::LEVEL_ERROR => 'error', + self::LEVEL_WARNING => 'warning', + self::LEVEL_INFO => 'info', + self::LEVEL_TRACE => 'trace', + self::LEVEL_PROFILE_BEGIN => 'profile begin', + self::LEVEL_PROFILE_END => 'profile end', + ); + return isset($levels[$level]) ? $levels[$level] : 'unknown'; + } } diff --git a/framework/yii/log/Target.php b/framework/yii/log/Target.php index 2f6f73f..21e2779 100644 --- a/framework/yii/log/Target.php +++ b/framework/yii/log/Target.php @@ -225,16 +225,8 @@ abstract class Target extends Component */ public function formatMessage($message) { - static $levels = array( - Logger::LEVEL_ERROR => 'error', - Logger::LEVEL_WARNING => 'warning', - Logger::LEVEL_INFO => 'info', - Logger::LEVEL_TRACE => 'trace', - Logger::LEVEL_PROFILE_BEGIN => 'profile begin', - Logger::LEVEL_PROFILE_END => 'profile end', - ); list($text, $level, $category, $timestamp) = $message; - $level = isset($levels[$level]) ? $levels[$level] : 'unknown'; + $level = Logger::getLevelName($level); if (!is_string($text)) { $text = var_export($text, true); }