Состав модуля¶
Логгер действий пользователя в системе.
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 создающее токен для текущего запроса.
Токен в последующем устаналвивается во все возникающие события в логгере, таким образом можно просмотреть/отследить цепочку событий возникших во время запроса.