2012-01-25 73 views
0

我正在处理和修改大型数据条目的php项目。数据从数据库中获取并通过7个验证测试。数据然后被排序并再次插入数据库。这个过程非常耗时且难以跟踪错误和失败。为php程序编写日志文件

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

基本上有两种选择:

  1. 写日志中的文本文件
  2. 写日志数据库

哪种方法更有效,或者任何其他的选择吗?

+0

可能重复的[PHP日志框架?](http://stackoverflow.com/questions/341154/php-logging-framework) –

+1

我投了重复,但实际上我必须承认你没有摆出实际问题。更有效率取决于您的文件系统是否比数据库更高效。还取决于你想达到什么样的目标,你需要什么类型的日志等等,所以请改进你的问题。 – hakre

回答

1

文本文件更容易通过命令行来监视Unix机器:

这给你一个文本文件的最新线的不断-更新视图。当然,你不要这样做。我认为在大多数情况下,一个文本文件就足够了。

如果您想要进行高效的排序,筛选和关系操作(即,您想将一个日志条目与另一种存储的信息相关联),那么数据库非常棒。设置它需要更长的时间,所以一定要确定你需要这种记录的持续时间,以及你需要的强大程度。如果只是简单的审查,我会坚持一个文本文件。

2

,而你可以做你自己的记录,我会建议你log4php这是一个很好的测试库和与之相配套的阿帕奇基金会

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

,让您真正轻松地浏览你的错误。