我正在使用php方法getTraceAsString(),它会抛出我的错误消息,如:
#0 /var/www/wordpress/wp-content/themes/Aisis-Framework/AisisCore/Template/Builder.php(147): AisisCore_Template_Builder->_render_template_array(Array, 'navigation') #1 /var/www/wordpress/wp-content/themes/Aisis-Framework/index.php(3): AisisCore_Template_Builder->render_view('navigation') #2 /var/www/wordpress/wp-includes/template-loader.php(47): include('/var/www/wordpr...') #3 /var/www/wordpress/wp-blog-header.php(16): require_once('/var/www/wordpr...') #4 /var/www/wordpress/index.php(17): require('/var/www/wordpr...') #5 {main}
正如你所看到的那样是一根巨大的弦。他们提供的示例将跟踪打印为单独的行。为了得到它,我有什么必须做的吗?
答案 0 :(得分:5)
这是一个包含换行符的字符串,而不是HTML。查看页面的源代码。
将输出包装在<pre></pre>
标签中,或用HTML换行符替换换行符。
preg_replace("/\n/", '<br>', $trace);
答案 1 :(得分:1)
我为ZF2错误日志做了一些功能,以及格式化, 的 $ E-&GT; getTraceAsString(); 强>
希望这对你有所帮助。
public function Errorcatch(\Exception $e) {
$log = "<div class='error_main'>";
$log.= "<br /><b>Error Time :</b>" . date('Y-m-d H:i:s A');
$log.= "<br /><b>Error Code :</b>" . $e->getCode();
$log.= "<br /><b>Error Message :</b>" . $e->getMessage();
$log.="<br /><b>Error File :</b>" . $e->getFile();
$log.="<br /><b>Error File Line :</b>" . $e->getLine();
$log.="<br /><b>Error Trace :</b><br />" . preg_replace("/\n/", '<br>', $e->getTraceAsString());
$log.= "</div>";
$this->getServiceLocator()->get('Zend\Log')->info($log); // This line write the log file.
}