Логи и журналы
Назначение
Сервис обеспечивает просмотр истории действий, аудита и системных журналов в Dinext. Включает аудит-трейл (Activity Log), системное логирование (logging), управление сроками хранения служебных данных и версионирование документов (Version) для прослеживания изменений.
Цели и задачи
- Просматривать историю изменений документов (кто, когда, что изменил) через Activity Log и Version.
- Вести системные логи приложения и воркеров для отладки и расследования сбоев.
- Настраивать уровни логирования и ротацию логов по политике компании.
- Управлять сроками хранения служебных данных (логи, версии, старые файлы) через Dinext.
- Обеспечивать соответствие требованиям к аудиту и хранению данных.
Для кого
- Администраторы и разработчики при расследовании инцидентов и отладке.
- Аудиторы и контролеры при проверке истории изменений.
- Руководители ИТ при определении политики хранения логов и очистки.
Основные понятия
- Activity Log — запись о действии над документом: пользователь, дата, тип действия (Created, Updated и т.д.), изменения полей при настройке.
- Version — сохраненная версия документа (старые значения полей) для отката и просмотра истории.
- Логирование (logging) — запись сообщений приложения в файлы или stdout; уровни: DEBUG, INFO, WARNING, ERROR.
- Ротация логов — ограничение размера и давности лог-файлов; настраивается в конфигурации логирования.
- Dinext — правила и сроки хранения служебных данных (README).
Основные сущности / объекты
- activity_log.py, Version .
- Конфигурация логирования (уровень, путь к файлам).
- Dinext (README) — сроки хранения и очистка.
Основные сценарии / процессов
Просмотр истории документа
- В карточке документа открыть раздел «История» или «Activity» (или Timeline).
- Просмотреть записи: создание, обновления, смена статуса, комментарии; при наличии — сравнение версий (Version).
- При необходимости открыть конкретную версию (Version) и посмотреть старые значения полей; откатить к версии при поддержке и правах.
Настройка логирования и ротации
- В конфигурации приложения или в site_config задать уровень логирования (development: DEBUG, production: INFO или WARNING).
- Настроить вывод в файлы и ротацию (размер/время) через стандартные механизмы Python logging или через конфиг веб-сервера.
- Хранить логи вредимой политике; не хранить чувствительные данные (пароли, токены) в логах.
- При использовании Dinext настроить очистку старых логов и служебных данных по README приложения.
Аудит и сроки хранения
- Определить срок хранения Activity Log и Version по регламенту (например, 1–3 года для финансовых документов).
- Настроить периодическую очистку или архивирование через скрипты или Dinext.
- При расследовании инцидента использовать логи воркеров, Error Log и Activity Log для восстановления последовательности событий.
Правила и ограничения
- Включение детального логирования (DEBUG) в production увеличивает объем логов и может содержать чувствительные данные; использовать только временно для отладки.
- Версионирование документов может быть отключено для части тип документа или полей; состав версионируемых полей уточняйте в настройках тип документа.
- Очистка логов и версий необратима; архивируйте критичные данные перед удалением по политике.
Результаты / отчетность
- Timeline/история по документу с датами и пользователями.
- Файлы логов приложения и воркеров для анализа сбоев.
- Отчеты по аудиту при экспорте Activity Log или Version (при наличии отчетов в системе).
- Соблюдение сроков хранения за счет настроенной очистки .
Типовые вопросы и ошибки (FAQ)
Где смотреть, кто изменил документ?
В карточке документа — раздел «Timeline», «Activity» или «История». Там отображаются записи Activity Log. Для детального сравнения полей откройте список Version для этого документа (если версионирование включено).
Как включить версионирование для тип документа?
В метаданных тип документа (Customize Form или в JSON тип документа) включите опцию «Track Changes» или аналог (track_changes). После этого при каждом сохранении будет создаваться запись Version. Учтите рост объема данных для часто изменяемых документов.
Логи занимают много места
Включите ротацию логов (max size, backup count); поднимите уровень до INFO или WARNING в production; настройте очистку старых логов через cron или Dinext. Перенесите старые логи в холодное хранилище при необходимости.