* @copyright Copyright (c) 2013 - 2019, TechFuze. (http://techfuze.net) */ class LoggerTracyBridge implements IBarPanel { /** * Register the bar and register the event which will block the screen log */ public static function register() { // Register the bar object $class = new self(); $bar = Debugger::getBar(); $bar->addPanel($class); } public function getTab(): string { ob_start(function () {}); require dirname(__FILE__) . DS . 'layout.tracyloggertab.php'; return ob_get_clean(); } public function getPanel(): string { // If an error is thrown, log it $error = error_get_last(); if ($error !== null) { $errno = $error['type']; $errfile = $error['file']; $errline = $error['line']; $errstr = $error['message']; // Log it! Logger::errorHandler($errno, $errstr, $errfile, $errline); } // Reverse the logs $logs = array_reverse(Logger::$logs, true); // Parse the panel ob_start(function () {}); require dirname(__FILE__) . DS . 'layout.tracyloggerpanel.php'; return ob_get_clean(); } }