В платформе реализовано разностороннее логирование, которое позволяет не только отследить возможные причины произошедшей ошибки, но и отслеживать работу пользователей и собирать статистику.
Логирование событий приложения
Для осуществления логирования событий, происходящих в приложении используются как текстовые файлы, так и БД.
В файл admin.txt записываются события, касающиеся развертывания решения на сервере и его дальнейшей инициализации. Файл располагается в директории решения, по следующему адресу: %solution_name%\log
Используя лог в данном файле можно полностью отследить процесс развертывания решения. При успешном развертывании подробное описание процесса выглядит следующим образом:
30.06.2015 10:06:41 Start building solution 30.06.2015 10:06:41: DB scripts ok 30.06.2015 10:06:43: Database ok 30.06.2015 10:06:57: Provision ok 30.06.2015 10:06:57: Filters ok 30.06.2015 10:06:57: Sync patch ok 30.06.2015 10:06:59: Admin ok 30.06.2015 10:07:00: Clustered keys patch ok 30.06.2015 10:07:00: Default NEWSEQUENTIALID values on tabular sections ok 30.06.2015 10:07:00: initial data load ok 30.06.2015 10:07:00: sqlite ok 30.06.2015 10:07:00: Code generation ok 30.06.2015 10:07:01: Client dll ok 30.06.2015 10:07:01: Server dll ok 30.06.2015 10:07:01: Resources ok 30.06.2015 10:07:01: Solution has been successfully built
Хранение логов всех событий мобильного приложения осуществляется в таблице ___Log
При отправке ошибки с МА также передается файл info.xml, в котором записаны последние 1000 событий.
Структура таблицы ___Log:
Имя поля | Назначение |
---|---|
Date | Дата и время события |
Event | Вид события |
Content | дополнительная информация о событии |
Логирование обменов данными
При логировании обменов данными, в качестве хранилища логов используется БД SQL. Каждый лог хранится в отдельной таблице, каждая строка которой является отдельным событием.
В таблицу [admin].[AsyncUploadSession] записываются данные о загрузке данных на сервер при использовании метода UploadData.
Структура таблицы [admin].[AsyncUploadSession]:
Имя поля | Назначение |
---|---|
StartTime | Время начала |
EndTime | Время окончания |
Status | Статус синхронизации |
В поле Status содержится полная информация о статусе транзакции. В поле может отображаться следующая информация:
- n completed - количество обработанных объектов. Данное значение отображается, в случае, если загрузка еще не завершена. Например, 43 completed
- ok - сообщение о успешной загрузке данных
- Текст ошибки - если загрузка была прервана с ошибкой, в поле будет отображаться полный текст ошибки.
В таблицу admin.DeviceLog, записываются данные о загрузке данных на сервер при использовании метода UploadData.
Вы можете получить данные логов, программно вызвав метод сервера DownloadDeviceLog
Структура таблицы admin.DeviceLog
Имя поля | Назначение |
---|---|
StartTime | Время начала |
EndTime | Время окончания |
FirstSync | 1 - первичная синхронизация, 0 - последующие |
Direction | Направление синхронизации: 0 - upload, 1 - download |
DeviceId | идентификатор устройства |
Login | логин пользователя |
UserId | GUID пользователя |
UserEMail | e-mail пользователя |
ContentLength | размер входящих данных, байт |
ContentType | тип входящих данных |
Accept | тип входящих данных, принимаемых сервером |
AcceptEncoding | кодировка входящих данных, принимаемая сервером |
Host | имя хоста |
ConfigName | имя конфигурации решения |
ConfigVersion | версия решения |
CoreVersion | версия платформы |
ResourceVersion | версия мобильного приложения |
OutputContentLength | размер исходящих данных до сжатия, байт |
StatusCode | статус операции, 200 в случае успеха |
StatusDescription | текст ошибки |
Логирование обменов файлами
Структура таблицы admin.DeviceLogWebDAV
Имя поля | Назначение |
---|---|
StartTime | Время начала |
EndTime | Время окончания |
DeviceId | идентификатор устройства |
UserId | GUID пользователя |
State | Статус |
Error | Ошибка |
Directory | Каталог |
LoadedSize | Объем переданных данных, байт |
LoadedCount | Количество переданных файлов |
DeletedSize | Объём удаленных данных, байт |
DeletedCount | Количество удалённых файлов |
ConfigName | имя конфигурации решения |
ConfigVersion | версия решения |
CoreVersion | версия платформы |
ResourceVersion | версия мобильного приложения |