2012-12-20 113 views
1

我有一個應用程序,我們有一個自定義數據庫抽象類。這一切都很好地調整和工作得很好。堆棧跟蹤一個mysql錯誤

我們最近爲查詢和連接錯誤添加了更好的錯誤日誌記錄到文件和數據庫。

我們發現自己想要的一件事是能夠在呼叫中涉及的文件上運行跟蹤。我刪除了一些舊的代碼等。

我們已經使用了一些輸出緩衝,debug_print_backtrace()但我不滿足於這個記錄的混亂輸出。

任何人遇到一個很好的處理程序,這使得終端日誌讀取美麗?

此外,該應用程序相當傳統的代碼和查詢是非常混合到視圖和輸出。如果查詢失敗而沒有重寫應用程序,我們可以強制重定向到/error.php頁面嗎?

回答

0

你問了幾個不同的問題。您是否看過debug_backtrace()?它提供了大量的信息,並使您能夠控制日誌中信息的外觀和數量。當然,你必須做一些工作才能將信息存入日誌,但它應該很好地完成這項工作。

關於在不重寫應用程序的情況下重定向到error.php頁面,您必須重寫某些內容。從理論上講,您可以修改抽象類來在失敗時重定向用戶。話雖如此,我認爲這不是這種手術的最佳場所。如果是我,我寧願抽象類返回一個異常,並讓應用程序包含所有面向用戶的邏輯來處理它。否則,你最終會造成漏洞的抽象,最終可能會成爲未來更多的技術債務。