/** * Formats data into a single line to be written by the writer. * * @param array $event event data * @return string formatted line to write to the log */ public function format($event) { $event = parent::formatEvent($event); $errstr = $event['message']; $outputFormat = strtolower(Piwik_Common::getRequestVar('format', 'html', 'string')); $response = new Piwik_API_ResponseBuilder($outputFormat); $message = $response->getResponseException(new Exception($errstr)); return parent::format($message); }
/** * Formats data into a single line to be written by the writer. * * @param array $event event data * @return string formatted line to write to the log */ public function format($event) { if (is_array($event['message'])) { $message = "<pre>" . var_export($event['message'], true) . "</pre>"; } else { $message = $event['message']; } return parent::format($message); }
/** * Formats data into a single line to be written by the writer. * * @param array $event event data * @return string formatted line to write to the log */ public function format($event) { $event = parent::formatEvent($event); $errno = $event['errno']; $errstr = $event['message']; $errfile = $event['errfile']; $errline = $event['errline']; $backtrace = $event['backtrace']; require_once "API/ResponseBuilder.php"; $outputFormat = strtolower(Piwik_Common::getRequestVar('format', 'html', 'string')); $response = new Piwik_API_ResponseBuilder(null, $outputFormat); $message = $response->getResponseException(new Exception($errstr)); return parent::format($message); }
/** * Formats data into a single line to be written by the writer. * * @param array $event event data * @return string formatted line to write to the log */ public function format($event) { if (is_array($event['message'])) { $message = "<pre>" . var_export($event['message'], true) . "</pre>"; } else { $message = $event['message']; } if (!Piwik_Common::isPhpCliMode()) { $message .= "<br/>"; } $message .= "\n"; $memory = ''; // Hacky: let's hide the memory usage in CLI to hide from the archive.php output if (!Piwik_Common::isPhpCliMode()) { $memory = '[' . Piwik::getMemoryUsage() . '] '; } $message = '[' . $event['timestamp'] . '] [' . $event['requestKey'] . '] ' . $memory . $message; return parent::format($message); }
/** * Formats data into a single line to be written by the writer. * * @param array $event event data * @return string formatted line to write to the log */ public function format($event) { $errno = $event['errno']; $errstr = $event['message']; $errfile = $event['errfile']; $errline = $event['errline']; $backtrace = $event['backtrace']; $divId = 'div' . $errline . $errno . rand(1, 2000); $message = "<b>Uncaught exception</b>: '" . $errstr . "'"; $message .= "<br><a onclick=\"if(document.getElementById('{$divId}').style.display=='none') { document.getElementById('{$divId}').style.display='inline' } else { document.getElementById('{$divId}').style.display = 'none' }\" href='#'>" . "\nMore information</a>" . "<div style='display:inline' id='{$divId}'>" . "<br>In <b>{$errfile}</b> on line <b>{$errline}</b>" . "<br><small>Backtrace:<br><pre>"; $message .= str_replace("\n", "<br>", $backtrace); $message .= "</pre>"; $message .= "</small></div>"; // without javascript it displays the full error message // but with javascript we hide the DIV and onclick we show it $message .= "<script>document.getElementById('{$divId}').style.display='none';</script>"; $message .= "<br>You can get help from http://piwik.org (give us the full error message + your PHP and Mysql version)"; return parent::format($message); }
/** * Formats data into a single line to be written by the writer. * * @param array $event event data * @return string formatted line to write to the log */ public function format($event) { $str = "\n<br> "; $str .= "Called: {$event['class_name']}.{$event['method_name']} (took {$event['execution_time']}ms) \n<br>"; $str .= "Parameters: "; $parameterNamesAndDefault = unserialize($event['parameter_names_default_values']); $parameterValues = unserialize($event['parameter_values']); $i = 0; foreach ($parameterNamesAndDefault as $pName => $pDefault) { if (isset($parameterValues[$i])) { $currentValue = $parameterValues[$i]; } else { $currentValue = $pDefault; } $currentValue = $this->formatValue($currentValue); $str .= "{$pName} = {$currentValue}, "; $i++; } $str .= "\n<br> "; // $str .= "Returned: ".$this->formatValue($event['returned_value']); $str .= "\n<br> "; return parent::format($str); }
/** * Formats data into a single line to be written by the writer. * * @param array $event event data * @return string formatted line to write to the log */ public function format($event) { $errno = $event['errno']; $errstr = $event['message']; $errfile = $event['errfile']; $errline = $event['errline']; $backtrace = $event['backtrace']; $strReturned = ''; $errno = $errno & error_reporting(); // problem when using error_reporting with the @ silent fail operator // it gives an errno 0, and in this case the objective is to NOT display anything on the screen! // is there any other case where the errno is zero at this point? if ($errno == 0) { return ''; } $strReturned .= "\n<div style='word-wrap: break-word; border: 3px solid red; padding:4px; width:70%; background-color:#FFFF96;'><b>"; switch ($errno) { case E_ERROR: $strReturned .= "Error"; break; case E_WARNING: $strReturned .= "Warning"; break; case E_PARSE: $strReturned .= "Parse Error"; break; case E_NOTICE: $strReturned .= "Notice"; break; case E_CORE_ERROR: $strReturned .= "Core Error"; break; case E_CORE_WARNING: $strReturned .= "Core Warning"; break; case E_COMPILE_ERROR: $strReturned .= "Compile Error"; break; case E_COMPILE_WARNING: $strReturned .= "Compile Warning"; break; case E_USER_ERROR: $strReturned .= "User Error"; break; case E_USER_WARNING: $strReturned .= "User Warning"; break; case E_USER_NOTICE: $strReturned .= "User Notice"; break; case E_STRICT: $strReturned .= "Strict Notice"; break; case E_RECOVERABLE_ERROR: $strReturned .= "Recoverable Error"; break; case E_EXCEPTION: $strReturned .= "Exception"; break; default: $strReturned .= "Unknown error ({$errno})"; break; } $strReturned .= ":</b> <i>{$errstr}</i> in <b>{$errfile}</b> on line <b>{$errline}</b>\n"; $strReturned .= "<br><br>Backtrace --><DIV style='font-family:Courier;font-size:10pt'>"; $strReturned .= str_replace("\n", "<br>\n", $backtrace); $strReturned .= "</div><br><br>"; $strReturned .= "\n</pre></div><br>"; return parent::format($strReturned); }
/** * Display the message in a nice red font with a nice icon * ... and dies */ public static function exitWithErrorMessage($message) { $output = "<style>a{color:red;}</style>\n" . "<div style='color:red;font-family:Georgia;font-size:120%'>" . "<p><img src='themes/default/images/error_medium.png' style='vertical-align:middle; float:left;padding:20 20 20 20'>" . $message . "</p></div>"; print Piwik_Log_Formatter_ScreenFormatter::getFormattedString($output); exit; }
/** * Formats data into a single line to be written by the writer. * * @param array $event event data * @return string formatted line to write to the log */ public function format($event) { $event = parent::formatEvent($event); $errno = $event['errno']; $errstr = $event['message']; $errfile = $event['errfile']; $errline = $event['errline']; $backtrace = $event['backtrace']; $strReturned = ''; $errno = $errno & error_reporting(); // problem when using error_reporting with the @ silent fail operator // it gives an errno 0, and in this case the objective is to NOT display anything on the screen! // is there any other case where the errno is zero at this point? if ($errno == 0) { return ''; } $strReturned .= "\n<div style='word-wrap: break-word; border: 3px solid red; padding:4px; width:70%; background-color:#FFFF96;'>\n\t <strong>There is an error. Please report the message (Piwik " . (class_exists('Piwik_Version') ? Piwik_Version::VERSION : '') . ") \n\t and full backtrace in the <a href='?module=Proxy&action=redirect&url=http://forum.piwik.org' target='_blank'>Piwik forums</a> (please do a Search first as it might have been reported already!).<br /><br/>\n\t "; switch ($errno) { case E_ERROR: $strReturned .= "Error"; break; case E_WARNING: $strReturned .= "Warning"; break; case E_PARSE: $strReturned .= "Parse Error"; break; case E_NOTICE: $strReturned .= "Notice"; break; case E_CORE_ERROR: $strReturned .= "Core Error"; break; case E_CORE_WARNING: $strReturned .= "Core Warning"; break; case E_COMPILE_ERROR: $strReturned .= "Compile Error"; break; case E_COMPILE_WARNING: $strReturned .= "Compile Warning"; break; case E_USER_ERROR: $strReturned .= "User Error"; break; case E_USER_WARNING: $strReturned .= "User Warning"; break; case E_USER_NOTICE: $strReturned .= "User Notice"; break; case E_STRICT: $strReturned .= "Strict Notice"; break; case E_RECOVERABLE_ERROR: $strReturned .= "Recoverable Error"; break; case E_DEPRECATED: $strReturned .= "Deprecated"; break; case E_USER_DEPRECATED: $strReturned .= "User Deprecated"; break; default: $strReturned .= "Unknown error ({$errno})"; break; } $strReturned .= ":</strong> <i>{$errstr}</i> in <b>{$errfile}</b> on line <b>{$errline}</b>\n"; $strReturned .= "<br /><br />Backtrace --><div style=\"font-family:Courier;font-size:10pt\">"; $strReturned .= str_replace(array("\n", '#'), array("<br />\n", "<br />\n#"), $backtrace); $strReturned .= "</div><br />"; $strReturned .= "\n </pre></div><br />"; return parent::format($strReturned); }