Состав модуля¶
Логгер действий пользователя в системе.
datalogging |
Логгер действий пользователя в системе. |
datalogging.api |
|
datalogging.app_meta |
|
datalogging.dbrouters |
|
datalogging.enums |
|
datalogging.helpers |
|
datalogging.management.commands.datalogging_compress |
|
datalogging.middleware |
|
datalogging.models |
|
datalogging.signals |
api¶
-
datalogging.api.filter_events(**kw)¶ Фильтрация по записям лолга.
Примечание
Не предусмотрена работа с NoSQL.
Если необходимо произвести фильтрацию по данным находящимся в в полях
context_dataилиobject_snapshot. То необходимо использовать префиксы_contextи_snapshotсоответственно.filter_events( object_type='enterprise.Enterprise', system_type=SystemsEnum.MAIN_APPLICATION, _context__diff__name='Учреждение №666', _context__ent='455', )
-
datalogging.api.get_events_by_token(request_token)¶ Получение записей лога по их общему токену
-
datalogging.api.get_request()¶ Получение текущего запроса.
-
datalogging.api.get_request_token()¶ Получение токена текущего запроса.
-
datalogging.api.get_user_ip()¶ Получение IP текущего пользователя.
Return str or None: Если не удалось получить IP вернет None
app_meta¶
dbrouters¶
-
class
datalogging.dbrouters.DataLoggerRouter¶ Роутер не позволяет создавать связи с моделью лога.
-
allow_relation(obj1, obj2, **hints)¶ Метод контролируюий факт создания связи между обектами. Отсекаются связи создаваемые с моделяи данного модуля.
-
allow_syncdb(db, model)¶ Метод регулирующий возможность инициализации моделей.
-
db_for_read(model, **hints)¶ Выбор БД для чтения. В данном методе происходит проверка на заданное имя модели и в случаем если модель принадлежит данному модулю, для нее используются отдельные настройки
-
db_for_write(model, **hints)¶ Выбор БД для записи. Применяются те же правила, что и при чтения из базы.
-
enums¶
-
class
datalogging.enums.ConfigurableEnum¶ Метакласс автозагрузки типов перечислений.
Автозагрузка типов осуществляется из settings.py проекта, причем данные должны являться словарем с кортежами в качестве значений. Наименование параметра должно начинаться с приставки “DATALOGGER”. Пример:
DATALOGGER_EVENT_TYPE = { 'SYSTEM': ('se', u'Системное событие'), }
После инициализации класса, можно вызывать как обычный аттрибут. И в целом класс используется как обычное перечисление. Пример:
print EventType.SYSTEM // 'se'
-
class
datalogging.enums.EventCode¶ Перечисление кодов событий.
Пример возможных кодов: - (insert, Добавление) - (delete, Удаление)
-
class
datalogging.enums.EventType¶ Перечисление типов событий.
Пример возможных типов: - (se, Системное событие) - (lse, Юридически важное событие)
-
class
datalogging.enums.SystemsEnum¶ Перечисление сред логирования.
Пример возможных значений: - (‘scheduled_task’, u’Задача по расписанию’) - (‘ws’, u’Web-сервис’)
helpers¶
-
datalogging.helpers.get_snapshot(instance)¶ Получение снимка состояния экземпляра модели
-
datalogging.helpers.is_server_mode()¶ Определение режима работы сервера.
-
datalogging.helpers.memorize_user(user)¶ Запоминание пользователя в текущем треде.
-
datalogging.helpers.only_server_mode(func)¶ Предотвращение запуска логгера в шеле
-
datalogging.helpers.remember_user()¶ Вспоминаем пользователя
managers¶
middleware¶
-
class
datalogging.middleware.CaptureRequestMiddleware¶ Middleware сохраняющее текущий request.
В последующем request используется для получения ряда параметров необходимых для логирования действий ( например ip пользователя ).
-
class
datalogging.middleware.RequestTokenMiddleware¶ Middleware создающее токен для текущего запроса.
Токен в последующем устаналвивается во все возникающие события в логгере, таким образом можно просмотреть/отследить цепочку событий возникших во время запроса.