簡體   English   中英

為php程序編寫日志文件

[英]writing log file for php program

我正在處理一個php項目,該項目正在大規模處理和修改數據條目。 數據取自數據庫,並經過7個驗證測試。 然后將數據排序並再次插入數據庫。 此過程很耗時,並且難以跟蹤錯誤和故障。

我想為我的應用程序創建日志編寫器類。

基本上有兩種選擇:

  1. 在文本文件中寫入日志
  2. 在數據庫中寫日志

哪種方法更有效或有其他選擇?

雖然您可以自己做一個記錄器,但我建議您使用經過良好測試的庫log4php ,並在apache資助下提供支持

文本文件在Unix計算機上更容易從命令行監視:

$ tail -f /path/thefile.log

這使您可以不斷更新文本文件的最新行。 不必這樣做的,當然。 我認為在大多數情況下,一個文本文件就足夠了。

如果您想進行有效的排序,過濾和關系操作(例如,要將一個日志條目與另一種存儲的信息相關聯),那么數據庫就很棒。 設置此日志需要花費更長的時間,因此請確保確定需要多長時間記錄一次日志以及其健壯性。 如果只是為了簡單檢查,我會堅持使用文本文件。

僅當日志很少使用(例如,您需要一次檢查錯誤)時,將日志寫入數據庫才有效。 如果您想對錯誤進行排序和過濾,那么走數據庫就行了。

您可以這樣創建表:

CREATE TABLE `logs` (
  `id` INT AUTO_INCREMENT,
  `original_id` INT NOT NULL, -- will contain FOREIGN KEY
  `new_id` INT DEFAULT NULL, -- will contain FOREIGN KEY
  `validator_id` INT, -- ID of validator which triggered error
  `type` ENUM('error', 'notice') DEFAULT 'error',
  `message` VARCHAR(255) DEFAULT '',
  PRIMARY KEY (`id`)
)

這將使您真正輕松地瀏覽錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM