Недавно я столкнулся с такой проблемой.
Я работаю над приложением, в котором ведение журнала очень важно.
Под логами в этом приложении я имею в виду сообщения типа
- Пользователь A (id = x) создал счет-фактуру (номер счета-фактуры - XXX) (1)
- Пользователь B (id = y) купил книгу (2)
- Пользователь A (id = x) утвердил счет XXX (3)
(1) и (3) являются сообщениями одного конкретного запроса / команды - поэтому, когда я хочу просмотреть журналы, мне нужно получить всю информацию об этом потоке журнала запросов.
Поскольку приложение сильно загружено и часто использует AJAX, сообщения журнала разных пользователей / операций / запросов могут быть смешанными.
Временно, я исправил эту проблему следующим образом:
Я создал в начале запроса некоторый уникальный код UUID и добавляю любые сообщения журнала с этим уникальным кодом. Итак, я могу найти все сообщения определенного потока с помощью простой команды grep UNIX.
Это решает проблему, но я не уверен, что это лучшее решение для этой задачи. Больше похоже на изобретение колеса.
Какие решения вы бы порекомендовали для этой проблемы?