Я заинтересован в отправке всего журнала приложений Rails в базу данных (MySQL или MongoDB) либо в дополнение, либо вместо файла журнала. Существует несколько причин, большинство из которых связаны с анализом файла журнала. Мы уже используем Google Analytics, но есть много вещей, которые мы хотим сделать, которые не работают в Google Analytics.
Кроме того, я хотел бы провести "исследование в реальном времени" проблем, просмотрев журналы. Просеивание через файл журнала - это утомительный способ сделать это, и я хотел бы лучше искать и фильтровать, чем позволяет файл журнала (легко).
Наконец, я часто хочу изучить что-то ближе к поведению посетителя сайта: например, трассировка пути через сайт, чтобы я мог видеть, что на последней странице было, что пользователь просматривал до возникновения ошибки. Учитывая, что у нас есть несколько серверов приложений, отдельные файлы журналов делают эту реальную боль. Если все данные были в базе данных, я мог бы легко увидеть правильную последовательность страниц для данного посетителя. Я знаю, что Syslog будет одним из способов решить эту проблему (один файл/репозиторий журнала), но я хочу объединить это с лучшими способностями поиска, которые я связываю с поиском в базе данных.
Мне интересно, что люди рекомендуют решить эту проблему. Вы напрямую регистрируетесь в базе данных или вы удаляете файлы журналов в БД (но каков ваш подход к этому, чтобы он был по существу в реальном времени/как последний, так и сам файл журнала)?
В настоящее время я определяю, на каком уровне мне нужен этот журнал, потому что еще одна вещь, на которую я смотрел, - это написать небольшой фильтр Rack, который регистрирует все запросы. Это пропустит весь дополнительный вывод, из которого выгружается нормальное ведение журнала Rails (все SQL и вывод на кеш-хиты и промахи и т.д.), Но он достиг бы значительной части моей цели и, похоже, имеет преимущество не беспокоить что-нибудь еще в системе.
Во всяком случае, я не ищу ни одного правильного ответа, больше обсуждения и информации о том, что кто-то еще может делать в этом же свете.