запись файла журнала для программы php - PullRequest
0 голосов
/ 25 января 2012

Я работаю над проектом php, который обрабатывает и модифицирует записи данных в больших масштабах. Данные взяты из базы данных и проходят 7 проверочных тестов. Затем данные сортируются и снова вставляются в базу данных. Этот процесс занимает много времени и трудно отследить ошибки и сбои.

Я хочу создать класс записи журнала для моего приложения.

Есть в основном два варианта:

  1. запись журнала в текстовый файл
  2. написание журнала в базе данных

какой метод более эффективен или какие-либо другие варианты?

Ответы [ 3 ]

2 голосов
/ 25 января 2012

пока вы можете создать свой собственный регистратор, я бы порекомендовал вам log4php , который является хорошо протестированной библиотекой и с поддержкой apache fundation

1 голос
/ 25 января 2012

Запись журнала в базу данных эффективна, только если эти журналы используются очень редко (например, вам нужно проверять ошибку один раз за раз).Если вы хотите отсортировать и отфильтровать ошибки, база данных - это путь.

Вы можете создать такую ​​таблицу:

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

, которая позволит вам действительно легко просматривать ошибки.

1 голос
/ 25 января 2012

Текстовые файлы легче отслеживать из командной строки на машинах Unix:

$ tail -f /path/thefile.log

Это дает вам постоянно обновляемый вид новейших строк текстового файла.Конечно, у вас нет , чтобы делать это таким образом.Я думаю, что в большинстве случаев достаточно текстового файла.

Базы данных хороши, если вы хотите выполнять эффективную сортировку, фильтрацию и реляционные операции (т. Е. Вы хотите связать одну запись журнала с другой информацией, котораясохранены).Это займет больше времени, так что не забудьте определить, насколько постоянно вам нужна эта регистрация и насколько надежной она должна быть.Если бы это было для простого обзора, я бы придерживался текстового файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...