more stuff

This commit is contained in:
Andy Miller
2014-10-20 10:37:41 -07:00
parent 9426b42a33
commit 112dd6f4ae
3 changed files with 39 additions and 10 deletions

View File

@@ -15,6 +15,7 @@ class Debugger
protected $grav;
protected $debugbar;
protected $renderer;
protected $enabled;
public function __construct()
{
@@ -26,17 +27,27 @@ class Debugger
{
$this->grav = Grav::instance();
$config = $this->grav['config'];
if ($config->get('system.debugger.enabled')) {
$this->debugbar->addCollector(new \DebugBar\DataCollector\ConfigCollector((array)$config->get('system')));
if ($this->enabled()) {
$this->debugbar->addCollector(new \DebugBar\DataCollector\ConfigCollector((array)$this->grav['config']->get('system')));
}
return $this;
}
public function enabled($state = null)
{
if (isset($state)) {
$this->enabled = $state;
} else {
if (!isset($this->enabled)) {
$this->enabled = $this->grav['config']->get('system.debugger.enabled');
}
}
return $this->enabled;
}
public function addAssets()
{
$config = $this->grav['config'];
if ($config->get('system.debugger.enabled')) {
if ($this->enabled()) {
$assets = $this->grav['assets'];
@@ -71,13 +82,18 @@ class Debugger
public function render()
{
$config = $this->grav['config'];
if ($config->get('system.debugger.enabled')) {
if ($this->enabled()) {
echo $this->renderer->render();
}
return $this;
}
public function sendDataInHeaders()
{
$this->debugbar->sendDataInHeaders();
return $this;
}
public function startTimer($name, $desription = null)
{
if ($name[0] == '_' || $this->grav['config']->get('system.debugger.enabled')) {
@@ -97,8 +113,7 @@ class Debugger
public function addMessage($message, $label = 'info', $isString = true)
{
$config = $this->grav['config'];
if ($config->get('system.debugger.enabled')) {
if ($this->enabled()) {
$this->debugbar['messages']->addMessage($message, $label, $isString);
}
return $this;

View File

@@ -266,7 +266,17 @@ class Grav extends Container
*/
public function header()
{
header('Content-type: ' . $this->mime($this['uri']->extension()));
$extension = $this['uri']->extension();
header('Content-type: ' . $this->mime($extension));
$header_extensions = ['json','xml','rss','atom'];
// Set debugger data in headers
if (in_array($extension, $header_extensions)) {
$this['debugger']->enabled(false);
// $this['debugger']->sendDataInHeaders();
}
}
/**

View File

@@ -5,6 +5,7 @@ use Pimple\Container;
use Pimple\ServiceProviderInterface;
use Whoops\Handler\JsonResponseHandler;
use Whoops\Handler\PrettyPageHandler;
use Whoops\Handler\PlainTextHandler;
use Whoops\Run;
class ErrorServiceProvider implements ServiceProviderInterface
@@ -23,9 +24,12 @@ class ErrorServiceProvider implements ServiceProviderInterface
$json_page = new JsonResponseHandler;
$json_page->onlyForAjaxRequests(true);
$whoops->pushHandler($error_page);
$whoops->pushHandler(new PlainTextHandler);
$whoops->pushHandler($json_page);
$logger = $container['log'];
$whoops->pushHandler(function ($exception, $inspector, $run) use($logger) {
$logger->addCritical($exception->getMessage(). ' - Trace: '. $exception->getTraceAsString());