Где я должен хранить свои файлы журналов? - PullRequest
2 голосов
/ 12 апреля 2010

Мы храним большинство наших журналов в отдельной таблице базы данных.Мы написали пользовательские приложения для log4j и log4net, у нас есть фиксированная схема журнала с множеством удобных столбцов, и мы вполне довольны ею.

Является ли это «лучшей практикой» (для сайтов меньшего масштаба, чем Facebook,где простая таблица БД просто не масштабируется)?

Ответы [ 3 ]

1 голос
/ 12 апреля 2010

Предполагая, что вы используете веб-сервер на базе Linux, запишите свои журналы в простой файл журнала и выполняйте задание cron ежедневно. Вы можете bzcat файл, чтобы получить его содержимое. Тот же сценарий cron может удалить файлы старше указанного порога, или вы можете удалить старые журналы вручную. Это довольно приемлемая схема, которую использует большинство демонов, прямо или косвенно через системный журнал.

Просто не забудьте написать файл журнала за пределами общедоступного веб-корня, иначе люди смогут угадать ваши имена файлов журнала и загрузить потенциально разоблачающие данные.

0 голосов
/ 12 апреля 2010

Почему вы используете базу данных? Вы часто делаете сложные запросы на это? Или же используемые вами запросы можно перевести на простые grep поиски?
Это главный вопрос, который вы должны задать себе, выбирая между простым текстовым лог-файлом и таблицей БД.

0 голосов
/ 12 апреля 2010

Журналы базы данных не сжимаются и не перемещаются в разные поля легко. С другой стороны, поиск журналов в базе данных, вероятно, имеет преимущество.

Вы беспокоитесь о своем текущем решении? Если у вас нет проблем с этим, я бы не волновался.

...