Ambient фильтр / перехватчики для доменных классов в Gorm / Grails? - PullRequest
0 голосов
/ 10 декабря 2010

Я просто интегрировал концепцию ведения журнала для своей системы Grails и использовал механизм фильтрации для регистрации доступа к моим контроллерам и действиям. Хорошо, что я могу определить один фильтр для всех контроллеров и действий.

С классами домена я знаю только концепцию перехватчика, где я должен написать перехватчик для каждого отдельного класса домена. Существует ли концепция, аналогичная фильтрам для классов доменов, где я могу определить перехватчик для ВСЕХ классов доменов?

Большое спасибо заранее, Йорг.

ОБНОВЛЕНИЕ 1: Спасибо за совет по плагину Audit Logging от Stefan. Плагин Audit Logging выглядит как самая простая альтернатива, но на мой вкус создает слишком много строк / журналов и не использует систему журналирования grails / log4j.

В настоящее время мои требования:

  1. Журнал вставки / обновления / удаления для всех классов домена (чтобы регистрировать только инциденты, а не каждое изменение для каждого поля / столбца)

  2. Войдите в систему регистрации Grails (log4j), чтобы войти в стандартный вывод, отдельные таблицы базы данных или электронную почту (уровень может быть, например, INFO или TRACE)

  3. Вход в специальный класс домена (таблица БД) для построения поверх него системы визуализации / управления журналом (через контроллер Grails и действия). Здесь было бы неплохо настроить, если журналы находятся в той же или другой базе данных / приложении grails (чтобы позже разделить систему управления журналами).

Насколько я знаю, простое ведение журнала изменений может быть сделано через:

  1. Отдельные записи журнала в классах домена (требуются события вставки / обновления / удаления в каждом классе домена)

  2. Определить суперкласс "Log", который наследует события вставки / обновления / удаления (затрудняет создание отдельных событий вставки / обновления / удаления в специальных классах домена)

  3. Определить фильтр для всех контроллеров, но только сохранять / обновлять / удалять действия (проблема: не регистрируются изменения в классах домена без контроллера или если в одном действии затрагиваются несколько классов домена)

Надеюсь, это поможет другим. Тем не менее, я что-то пропустил?

1 Ответ

0 голосов
/ 10 декабря 2010

Может быть http://www.grails.org/plugin/audit-logging - это то, что вы ищете.

...