改进trace

This commit is contained in:
yunwuxin
2016-06-29 18:08:28 +08:00
parent e33eddf7bd
commit 95c92a5f92
2 changed files with 24 additions and 33 deletions

View File

@@ -245,30 +245,10 @@ class Response
*/
public function contentType($contentType, $charset = 'utf-8')
{
$this->contentType = $contentType;
$this->charset = $charset;
$this->header['Content-Type'] = $contentType . '; charset=' . $charset;
return $this;
}
/**
* 获取页面输出类型
* @return string
*/
public function getContentType()
{
return $this->contentType;
}
/**
* 获取页面输出字符集
*/
public function getCharset()
{
return $this->charset;
}
/**
* 获取头部信息
* @param string $name 头部名称

View File

@@ -14,6 +14,7 @@ use think\Config;
use think\Log;
use think\Request;
use think\Response;
use think\response\Redirect;
class Trace
{
@@ -23,13 +24,22 @@ class Trace
$type = isset($config['type']) ? $config['type'] : 'Html';
if ($type !== false && !Request::instance()->isAjax() && $response->getContentType() == 'text/html') {
if ($type !== false) {
$request = Request::instance();
$accept = $request->header('accept');
$contentType = $response->getHeader('Content-Type');
$class = false !== strpos($type, '\\') ? $type : '\\think\\debug\\trace\\' . ucwords($type);
unset($config['type']);
$trace = new $class($config);
if ($response instanceof Redirect) {
//TODO 记录
} elseif (strpos($accept, 'application/json') === 0 || $request->isAjax()) {
//TODO 记录
} elseif (!empty($contentType) && strpos($contentType, 'html') === false) {
//TODO 记录
} else {
$output = $trace->output(Log::getLog());
$content = $response->getContent();
@@ -45,3 +55,4 @@ class Trace
}
}
}
}