Nikita Borovik
Здравствуйте, помогите, пожалуйста, советом. Вопрос такого плана: заказчик хочет добавить в систему глобальное логирование того, что происходит во всей системе. В логах должна находится информация о том, какой пользователь совершает определенное действие, какое именно действие он совершает, дата и время. Эта информация будет отображаться для персонала с определенными "привилегиями" на просмотр данных логов.
Т.е например:
1. Админ редактирует данные какого-то пользователя
2. Нужно залогировать это действие.
3. В логах должна указываться информация: какой админ совершил данное действие, когда он его совершил и какую конкретно информацию он отредактировал
Если речь идет о просмотре какого-либо списка, то нужно записывать в логи все элементы из данного списка.
Все это в дальнейшем должно отображаться на фронте в удобочитабельном виде с возможностью фильтрации. Как решить эту задачу?
Может быть есть какое-либо готовое решение ? Первая мысль, которая у меня возникла - это бросать events и в слушателях производить логирование на каждую операцию. В основном в системе одни CRUD, но есть модули и посложнее
Зачем эвенты ? Просто вставляй во все места, где надо логировать, вызов логгера с передачей всех нужных данных.
Сделай таблицу с кучей всех возможных полей, по которым может идти поиск в будущем, плюс парочку longText полей, куда в json сливай разные сопутствующие данные.
Готового решения нет, пиши сам.