为php程序编写日志文件

时间:2012-01-25 13:46:16

标签: php logging

我正在开发一个大型处理和修改数据条目的php项目。数据来自数据库并经过7次验证测试。然后对数据进行排序并再次插入数据库。这个过程非常耗时,很难跟踪错误和失败。

我想为我的应用程序创建日志编写器类。

基本上有两种选择:

  1. 将日志写入文本文件
  2. 在数据库中写入日志
  3. 哪种方法效率更高或任何其他选项?

3 个答案:

答案 0 :(得分:2)

虽然你可以做自己的记录器,但我会建议你log4php这是一个经过良好测试的图书馆并且得到了apache基金会的支持

答案 1 :(得分:1)

在Unix机器上从命令行更容易监视文本文件:

$ tail -f /path/thefile.log

这使您可以不断更新文本文件的最新行。当然,你没有这样做。我认为在大多数情况下文本文件就足够了。

如果要进行有效的排序,过滤和关系操作(即,您希望将一个日志条目与存储的另一种信息相关联),数据库非常有用。设置它需要更长的时间,因此请务必确定您需要这种记录的永久性以及您需要它的稳健性。如果是简单的评论,我会坚持使用文本文件。

答案 2 :(得分:1)

只有在很少使用这些日志时(例如,您需要及时检查错误),将日志写入数据库才有效。如果要对错误进行排序和过滤,可以使用数据库。

你可以像这样创建表格:

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`)
)

可让您轻松浏览错误。