Size: a a a

2020 February 18

VN

Vladislav Navrocky in pro.jvm
Ignat Simonenko
в hibernate envers можно подглядеть, если я правильно понял кейс
Ну около того, но хотелось бы видеть сквозной лог и более высокоуровневый лог. Ибо одно действие пользователя может затронуть много таблиц, и по изменению данных в таблицах не всегда понятно каким это конкретным действием пользователя было вызвано. И в микросервисах базы вообще разные, а надо аггрерировать в одном месте все действия
источник

AV

Aleksey Volkov in pro.jvm
Пишите в логи, как вам уже выше посоветовали, потом можно разобрать как хочешь и засунуть в любое интересующее апи
источник

VN

Vladislav Navrocky in pro.jvm
Ignat Simonenko
и в требованиях был "быстрый поиск"
таблица очень быстро распухнет
Ну ок, согласен, может elastic тут более будет эффективен чем postgres. Но сути это не меняет, меня больше интересует правильное именование всех этих штук (чтобы это были общепринятые понятия, а не придуманные мной) и структура данных, а уж как хранить - дело пятое.
источник

VN

Vladislav Navrocky in pro.jvm
Aleksey Volkov
Пишите в логи, как вам уже выше посоветовали, потом можно разобрать как хочешь и засунуть в любое интересующее апи
Логи это текст, хотелось бы изначально не терять структуру данных
источник

NS

Name Schiefer in pro.jvm
Vladislav Navrocky
Логи это текст, хотелось бы изначально не терять структуру данных
u tebya gui?
источник

ST

Slava Tutrinov in pro.jvm
мне в голову ещё приходит написать аннотацию (aspectj) типа @Inspectable(object=paramFromApiMethod), обрабротчик которого будет брать секурити-контекст, брать отуда юзера и логгировать, что он делает с object=paramFromApiMethod
источник

ST

Slava Tutrinov in pro.jvm
а внутри обработчика формируй объект нужной тебе структуры и клади в ластик асинхронно, чтобы не лочить ничего
источник

VN

Vladislav Navrocky in pro.jvm
Name Schiefer
u tebya gui?
e menja bek
источник

I

Ilia in pro.jvm
Vladislav Navrocky
Логи это текст, хотелось бы изначально не терять структуру данных
в логе может быть json, ничего не теряется
источник

ST

Slava Tutrinov in pro.jvm
Slava Tutrinov
мне в голову ещё приходит написать аннотацию (aspectj) типа @Inspectable(object=paramFromApiMethod), обрабротчик которого будет брать секурити-контекст, брать отуда юзера и логгировать, что он делает с object=paramFromApiMethod
а аннотацию вешай в тех местах, где тебе нужен аудит действий юзеров
источник

AV

Aleksey Volkov in pro.jvm
Vladislav Navrocky
Логи это текст, хотелось бы изначально не терять структуру данных
Структура это что? вы можете логировать хоть json, хоть любой интересующий формат, просто инструментов для работы с распределенными логами очень много и вам не придётся вкладывать в написание этого всего силы и время, возможно вам для аудита хватит обычного ELK или graylog без всякой разработки вообще
источник

ST

Slava Tutrinov in pro.jvm
Ilia
в логе может быть json, ничего не теряется
+
источник

I

Ilia in pro.jvm
писать свой ELK и аппендер это точно трэш
источник

I

Ilia in pro.jvm
а хранить исторические записи можно по-разному, это отдельная задача
источник

ST

Slava Tutrinov in pro.jvm
Ilia
писать свой ELK и аппендер это точно трэш
аппендер для log4j готовый есть, даже писать не надо
источник

I

Ilia in pro.jvm
Slava Tutrinov
аппендер для log4j готовый есть, даже писать не надо
ну я имею в виду, что если свою замену ELK мутить, то ещё и аппендер до кучи
источник

ST

Slava Tutrinov in pro.jvm
Ilia
ну я имею в виду, что если свою замену ELK мутить, то ещё и аппендер до кучи
тогда да
источник

AE

Alexandr Emelyanov in pro.jvm
Vladislav Navrocky
Господа, а есть ли готовые решения (либы, микросервисы) для протоколирования действий пользователя в системе, фискальная функция так сказать?
аоп + логгирование
источник

VA

Vladimir Alexeev in pro.jvm
подскажите, а в spring mvc нельзя разве задать два маппинга вида

@PatchMapping("action/{id}) и
@PatchMapping("action/group")

так, чтобы второй маппинг переопределял первый и был приоритетным при вызове PATCH "action/group"?
источник

VP

Vladislav Plakhov in pro.jvm
Это два разных end point, как вы хотите чтобы Spring это переопределял?
источник