Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 29 Следующий »



В платформе реализовано разностороннее логирование, которое позволяет не только отследить возможные причины произошедшей ошибки, но и отслеживать работу пользователей и собирать статистику.

Логирование событий приложения


Для осуществления логирования событий, происходящих в приложении используются как текстовые файлы, так и БД.

В файл 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дополнительная информация о событии


Виды событий

ВидОписаниеСодержимое
application_closedОкончание работы приложения 
application_maximizedПриложение развернуто 
application_minimizedПриложение свернуто 
application_startedНачало работы приложения 
clickedКлик пользователемid_элемента; заголовок_элемента
crashОшибка, приводящая к вылету приложениятекст_ошибки
errorОшибка, не приводящая к вылету приложениятекст_ошибки
screen_openedЗавершение загрузки экрана 
screen_openingНачало загрузки экранаимя_экрана; имя_контроллера; список_параметров
sync_downloadСписок загруженных сущностейтип_сущности количество; ...
sync_download_tombstoneСписок загруженных удаленных сущностейтип_сущности количество; ...
sync_finishedОкончание синхронизации 
sync_startedНачало синхронизации данных 
sync_uploadСписок выгруженных сущностейтип_сущности количество; ...
sync_upload_tombstoneСписок выгруженных удаленных сущностейтип_сущности количество; ...
text_inputВвод текста пользователемid_элемента; текст
workflow_backПереход назад по рабочему процессу 
workflow_back_toПереход назад на шаг рабочего процессаимя_шага
workflow_finishedТекущий рабочий процесс остановленпричина
workflow_forwardПереход на шаг рабочего процессаимя_шага; параметры
workflow_forward_not_allowedПереход на шаг рабочего процесса запрещенимя_шага; параметры
workflow_pausedТекущий рабочий процесс приостановлен 
workflow_startedРабочий процесс запущенимя_рабочего_процесса

Логирование обменов данными

 


При логировании обменов данными, в качестве хранилища логов используется  БД SQL. Каждый лог хранится в отдельной таблице, каждая строка которой является отдельным событием.

В таблицу [admin].[AsyncUploadSession]  записываются данные о загрузке данных на сервер при использовании метода UploadData.

Структура таблицы [admin].[AsyncUploadSession]:

Имя поляНазначение
StartTimeВремя начала
EndTimeВремя окончания
Status

Статус синхронизации

 

В поле Status содержится полная информация о статусе транзакции. В поле может отображаться следующая информация:

  • n completed - количество обработанных объектов. Данное значение отображается, в случае, если загрузка еще не завершена. Например, 43 completed
  • ok  - сообщение о успешной загрузке данных
  • Текст ошибки - если загрузка была прервана с ошибкой, в поле будет отображаться полный текст ошибки.

В таблицу admin.DeviceLog, записываются данные о загрузке данных на сервер при использовании метода UploadData.

Вы можете получить данные логов, программно вызвав метод сервера DownloadDeviceLog

 

Структура таблицы admin.DeviceLog

Имя поляНазначение
StartTimeВремя начала
EndTimeВремя окончания
FirstSync1 - первичная синхронизация, 0 - последующие
DirectionНаправление синхронизации: 0 - upload, 1 - download
DeviceIdидентификатор устройства
Loginлогин пользователя
UserIdGUID пользователя
UserEMaile-mail пользователя
ContentLengthразмер входящих данных, байт
ContentTypeтип входящих данных
Acceptтип входящих данных, принимаемых сервером
AcceptEncodingкодировка входящих данных, принимаемая сервером
Hostимя хоста
ConfigNameимя конфигурации решения
ConfigVersionверсия решения
CoreVersionверсия платформы
ResourceVersionверсия мобильного приложения
OutputContentLengthразмер исходящих данных до сжатия, байт
StatusCodeстатус операции, 200 в случае успеха
StatusDescriptionтекст ошибки

Логирование обменов файлами


Для хранения логов обмена файлами между сервером и мобильным клиентов используется таблица admin.DeviceLogWebDAV.

 

Структура таблицы admin.DeviceLogWebDAV

Имя поляНазначение
StartTimeВремя начала
EndTimeВремя окончания
DeviceIdидентификатор устройства
UserIdGUID пользователя
StateСтатус
ErrorОшибка
DirectoryКаталог
LoadedSizeОбъем переданных данных, байт
LoadedCountКоличество переданных файлов
DeletedSizeОбъём удаленных данных, байт
DeletedCountКоличество удалённых файлов
ConfigNameимя конфигурации решения
ConfigVersionверсия решения
CoreVersionверсия платформы
ResourceVersionверсия мобильного приложения

 

 

 


  • Нет меток