2012-12-20 115 views
1

我有一个应用程序,我们有一个自定义数据库抽象类。这一切都很好地调整和工作得很好。堆栈跟踪一个mysql错误

我们最近为查询和连接错误添加了更好的错误日志记录到文件和数据库。

我们发现自己想要的一件事是能够在呼叫中涉及的文件上运行跟踪。我删除了一些旧的代码等。

我们已经使用了一些输出缓冲,debug_print_backtrace()但我不满足于这个记录的混乱输出。

任何人遇到一个很好的处理程序,这使得终端日志读取美丽?

此外,该应用程序相当传统的代码和查询是非常混合到视图和输出。如果查询失败而没有重写应用程序,我们可以强制重定向到/error.php页面吗?

回答

0

你问了几个不同的问题。您是否看过debug_backtrace()?它提供了大量的信息,并使您能够控制日志中信息的外观和数量。当然,你必须做一些工作才能将信息存入日志,但它应该很好地完成这项工作。

关于在不重写应用程序的情况下重定向到error.php页面,您必须重写某些内容。从理论上讲,您可以修改抽象类来在失败时重定向用户。话虽如此,我认为这不是这种手术的最佳场所。如果是我,我宁愿抽象类返回一个异常,并让应用程序包含所有面向用户的逻辑来处理它。否则,你最终会造成漏洞的抽象,最终可能会成为未来更多的技术债务。