2010-06-09 285 views
3

我使用php和mysql爲我的項目與梨包。php錯誤跟蹤

我想跟蹤我的程序中的錯誤。

有什麼方法可以跟蹤pear包或php5中的錯誤。

想在我的程序中的任何錯誤或警告產生的話,我想跟蹤這個錯誤,

店到數據庫中。

任何人都有想法。

在此先感謝。

回答

0

如果你想找到更快的錯誤,你應該考慮使用xdebug。它提供了更多錯誤輸出,並允許您逐步調試應用程序。

如果您需要日誌例外,您可以使用某些日誌程序(如Zend_Log)來寫入具有特定應用程序數據的日誌。您甚至可以指定消息重要性級別以省去生產系統上的調試數據。

此外,我會建議使用Firebug連同Firephp。通過這種方式,您可以輕鬆獲得調試數據,而無需使用print_r等。

6

不要在數據庫中存儲錯誤。很多錯誤都是與數據庫相關的。你會用它做什麼?

PHP已經擁有了你想要的一切。只需打開log_errors INI指令和可選error_log一個指定的,而不是把PHP錯誤在Web服務器的日誌文件

而且您可能會發現有用的一個trigger_error()功能,其可能帶來的自定義消息到標準某個日誌文件錯誤輸出,例如

mysql_error($sql); 
if(!$sql) trigger_error(mysql_error()." in ".$sql); 
+0

但我想在數據庫中存儲錯誤的詳細信息。 – 2010-06-09 11:26:19

+1

然後每隔N小時解析一次該日誌文件,並將其加載到數據庫中以供以後進行錯誤報告。 – CaseySoftware 2010-06-09 11:28:43

+0

我同意Col.Shrapnel在這裏,你不想跟蹤應用程序中發生的錯誤。 – 2010-06-09 11:29:07

0

Sentry。它是用Python編寫的,但是你可以用它write a PHP client。我找不到一個人,所以請讓我知道你是否找到/編碼一個。

1

不應將錯誤詳細信息存儲到您自己的數據庫中,而應使用錯誤跟蹤服務。

在同一個系統中跟蹤您自己的錯誤的問題存在問題:由於錯誤本身發生的相同原因,無法存儲它們的可能性很高。像數據庫有死鎖或其他錯誤。解析你的日誌文件可能沒問題,但你只知道有很大延遲的錯誤,並可能錯過有價值的信息。

其他一些優點:

  • 這組的錯誤,而類似的錯誤組
  • 您會收到有關實時新的錯誤
  • 你看到的頻率和時發生錯誤

我是Exceptiontrap的創始人及其PHP library,但也有其他服務。

0

我寫了一個功能強大的錯誤跟蹤庫,它允許您使用單個API跟蹤任何或所有服務的錯誤,如Exceptiontrap,Sen​​try,Raygun,Airbrake和本地資源,如日誌,電子郵件,數據庫和FirePHP。檢查它