# Система логирования приложения

## Общее описание 

Предназначено для просмотра сообщений (событий) (как правило, об ошибках) в системе. Просмотреть лог можно в формах "Логи приложения", "Управление пользователями", "Просмотр событий". Для работы с данными формами пользователь должен обладать правами Администратора.

## Форма "Логи приложения"

С помощью данной формы можно посмотреть историю событий приложения. Чтобы открыть форму "Логи приложения", необходимо в меню в папке "Администрирование", подпапке "Система" выбрать пункт "Логи приложения". Форма доступна пользователю с ролью **ECM_usersmanagement** либо **ECM_InformationSecurity**.

![Меню](./media/menu.png)

Откроется форма с пустой таблицей:

![Форма до загрузки строк в таблицу](./media/init.png){: .zoom}

Заполнить таблицу можно несколькими способами:

* по заданному периоду - в табличной части будут отображаться логи по заданному периоду
* Доп.условие выборки - в данном поле возможно указать условия выборки логов, например фильтрация только по логину, либо по определенному сервису, либо исключить из выборки какой то определенный сервис.

**Примеры:**

* выбрать логи по логину: `"CUser" = 'DriverAuto'`,

* выбрать все по 1C: `"Service" = 'odata'`,

* выбрать все кроме 1C: `"Service" not in ('odata')`

![Форма после загрузки строк в таблицу](./media/filled.png){: .zoom}

В столбце "Уровень" приводится тип сообщения о событии. 

- error – сообщение об ошибке;
- debug – отладочное сообщение;
- info – информационное техническое сообщение;
- MailInfo – информационное сообщение от компоненты БД DBMail;
- MailError – сообщение об ошибке от компоненты БД DBMail.

В столбце "Дата" указываются дата и время возникновения сообщения.

В столбце "Пользователи" указывается пользователь, спровоцировавший возникновение события. В некоторых случаях пользователь не указывается, например если событие произошло в результате технического вмешательства.

В столбце "Сообщение" приводится краткая информация о событии. Если нажать на ссылку-текст сообщения, то откроется окно для более удобного просмотра длинного текста. То же происходит и при нажатии на ссылки в других столбцах.

![Пример сообщения](./media/viewFullField.png){: .zoom}

В столбце "Сообщение пользователю" содержится сообщение, возникшее в момент события на экране вызвавшего его пользователя под кнопкой "Инфо".

В столбце "Детально" приводится детальная информация о событии, содержит дополнительные технические данные об ошибке.

В столбце "Запрос" указывается запрос к базе данных, при выполнении которого возникло событие.

В столбце "Сервис" указывается один из веб-сервисов, при выполнении которых возникло событие:

* entrypoint – точка входа для клиентов;
* config – сервис конфигурации;
* logic – сервис логики;
* gate – сервис входа (авторизации);
* radio – сервис взаимодействия реального времени;
* lock – сервис пессимистического блокировщика;
* data  – сервис доступа к данным и процедурам, хранимым в БД;
* RabbitMQ – сервер RabbitMQ служит шиной обмена данными между веб-сервисами. Сервисы используют его механизмы (сообщения и очереди сообщений) для оповещения друг друга;
* Redis – используется для хранения различной системной информации;
* post – сервис электронной почты и смс-сообщений;
* jsreport – предназначен для работы с отчетами jsreport;
* lexema-dss – для работы с ОЭП выпускаемыми клиентом;
* preview – предназначен для конвертации файлов в файлы в формате pdf, которые можно просматривать в элементе управления ```FilePreview```.

## Форма "Управление пользователями"

**Описание**

С помощью данной формы можно посмотреть журнал действий конкретного пользователя. Для этого нужно перейти в документ "Управление пользователями" в подраздел ["Журнал действий пользователей"](https://ecm-administrator-manuals.readthedocs.io/ru/latest/Admin%20manuals/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%D0%BC%D0%B8/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%D0%BC%D0%B8/#%D0%B7%D0%B0%D0%BC%D0%B5%D1%89%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5). Выберите необходимого пользователя и нажмите кнопку **"Журнал действий пользователя"**

![Журнал действия](media/SelectJornal.png)

## Форма "Просмотр событий"

**Описание**

Для перехода в форму "Просмотр событий" в меню Пользователя выберите "Просмотр событий". Пользователь должен обладать правами Администратора.

![Просмотр событий](media/eventViewer.png)

![Реестр](media/reestr.png){: .zoom}

- Сессия – идентификатор сессии;
- Пользователь - логин пользователя;
- Событие – тип события;
- Объект – идентификатор модели или запроса, к которому шло обращение;
- Параметры – параметры, с которыми загружаются или изменяются данные;
- Ключ маршрута – маршрут вкладки приложения, в которой была инициирована работа с данными;
- Идентификатор формы – параметр-идентификатор в маршруте, по которому была открыта вкладка, например, идентификатор документа;
- Класс формы – класс формы, которая открывается в данной вкладке;
- Браузер – информация о браузере (название и версия), в которыом работал пользователь;
- Запрос – идентификатор запросов на загрузку или изменение данных для отслеживания цепочки клиент-сервер;
- Дата – время вызова события;
- Идентификатор организации – идентификатор организации, в которой находился пользователь при вызове события.

Можно настроить загрузку данных, например по Пользователю, сессии, событию и т.д.

Для этого в панели инструментов нажмите кнопку "Загрузка данных". 

![Загрузка](media/load.png)

В открывшемся окне выберите условия по которым необходимо отфильтровать реестре. Например укажем, что столбец "Пользователь" должен содержать значение "Director". После этого нажмите "Загрузить данные". После загрузки в реестре будут отображены лог действий пользователя "Director"

![Загрузка данных](media/loadData.png)
![Отфильтрованные сессии](media/session.png){: .zoom}