У меня есть многопользовательское приложение, которое хранит централизованный лог-файл для активности. Прямо сейчас эта запись идет в текстовых файлах примерно на 10-50 МБ / день. Текстовые файлы ежедневно меняются регистратором, и мы сохраняем последние 4-5 дней. Старше нас это не интересует.
Их читают редко: либо при разработке приложения для сообщений об ошибках, диагностических сообщений, либо когда приложение находится в производстве, чтобы выполнить сортировку по сообщенной пользователем проблеме или ошибке.
(Это строго журнал приложения. Ведение журнала безопасности хранится в другом месте.)
Но когда их читают, они чувствуют боль в заднице. Погибать 10 МБ текстовых файлов не очень интересно даже с Perl: поля (идентификатор транзакции, идентификатор пользователя и т. Д.) В файле полезны, но только текст. Сообщения пишутся последовательно, по одному за раз, поэтому все чередующиеся действия смешиваются при попытке выполнить определенную транзакцию или пользователя.
Я ищу мысли по теме. Кто-нибудь делал логирование на уровне приложения с базой данных SQL и понравилось? Ненавидели это?