/** * generateExceptionFile * @param Exception $exception * @return string */ private function generateExceptionFile($exception) { $hash = md5($exception); $exceptionFilename = "exception-" . @date('Y-m-d-H-i-s') . "-{$hash}.html"; foreach (new \DirectoryIterator($this->loggerDirectory) as $entry) { if (strpos($entry, $hash)) { $exceptionFilename = $entry; $saved = TRUE; break; } } $exceptionFilename = $this->loggerDirectory . '/' . $exceptionFilename; if (empty($saved) && ($logHandle = @fopen($exceptionFilename, 'w'))) { ob_start(); // double buffer prevents sending HTTP headers in some PHP ob_start(function ($buffer) use($logHandle) { fwrite($logHandle, $buffer); }, 4096); Debugger::getBlueScreen()->render($exception); ob_end_flush(); ob_end_clean(); fclose($logHandle); } return $exceptionFilename; }
public static function initializePanel(Nette\Application\Application $application) { Nette\Diagnostics\Debugger::getBlueScreen()->addPanel(function ($e) use($application) { return $e ? NULL : array('tab' => 'Nette Application', 'panel' => '<h3>Requests</h3>' . Dumper::toHtml($application->getRequests()) . '<h3>Presenter</h3>' . Dumper::toHtml($application->getPresenter())); }); }
public function register(DibiConnection $connection) { Debugger::getBar()->addPanel($this); Debugger::getBlueScreen()->addPanel(array(__CLASS__, 'renderException')); $connection->onEvent[] = array($this, 'logEvent'); }
/** * @return Nette\Diagnostics\BlueScreen */ private static function getDebuggerBlueScreen() { return method_exists('Nette\\Diagnostics\\Debugger', 'getBlueScreen') ? Debugger::getBlueScreen() : Debugger::$blueScreen; }
public function register(Dibi\Connection $connection) { Debugger::getBar()->addPanel($this); Debugger::getBlueScreen()->addPanel([__CLASS__, 'renderException']); $connection->onEvent[] = [$this, 'logEvent']; }
private function createLogger() { $reflection = new \ReflectionClass('Tracy\\Logger'); if ($reflection->getConstructor() && $reflection->getConstructor()->getNumberOfParameters() > 0) { return new Logger(Tracy\Debugger::$logDirectory, Tracy\Debugger::$email, Nette\Diagnostics\Debugger::getBlueScreen()); } else { return new Logger(); } }