public function processLogs($logs) { if (empty($logs) || $this->getApplication()->getMode() === 'Performance') { return; } if (headers_sent()) { echo ' <div style="width:100%; background-color:darkred; color:#FFF; padding:2px"> TFirePhpLogRoute.GroupLabel "<i>' . $this->getGroupLabel() . '</i>" - Routing to FirePHP impossible, because headers already sent! </div> '; $fallback = new TBrowserLogRoute(); $fallback->processLogs($logs); return; } $firephp = FirePHP::getInstance(true); $firephp->setOptions(array('useNativeJsonEncode' => false)); $firephp->group($this->getGroupLabel(), array('Collapsed' => true)); $firephp->log('Time, Message'); $first = $logs[0][3]; $c = count($logs); for ($i = 0, $n = $c; $i < $n; ++$i) { $message = $logs[$i][0]; $level = $logs[$i][1]; $category = $logs[$i][2]; if ($i < $n - 1) { $delta = $logs[$i + 1][3] - $logs[$i][3]; $total = $logs[$i + 1][3] - $first; } else { $delta = '?'; $total = $logs[$i][3] - $first; } $message = sPrintF('+%0.6f: %s', $delta, preg_replace('/\\(line[^\\)]+\\)$/', '', $message)); $firephp->fb($message, $category, self::translateLogLevel($level)); } $firephp->log(sPrintF('%0.6f', $total), 'Cumulated Time'); $firephp->groupEnd(); }