Example #1
0
 /**
  * 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);
 }
Example #2
0
 /**
  * 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);
 }
Example #3
0
 /**
  * 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);
 }
Example #5
0
 /**
  * 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);
 }
Example #6
0
 /**
  * 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);
 }
Example #7
0
 /**
  * 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);
 }
Example #8
0
 /**
  * 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;
 }
Example #9
0
 /**
  * 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 --&gt;<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);
 }