Логирование
Описание
Логирование - инструмент, необходимый в процессе отладки проектов iRidium. Особенно важно получение лога, если в вашем проекте используется JavaScript.
Общая система состоит из трёх частей:
- Подсистема (Выделено Красным);
- Драйвера (Выделено Желтым);
- Система (Выделено зеленым).
Подсистема - это общие уровни управления логом.
Существуют такие как:
- 0 уровень - EMERGENCY (Аварийный);
- 1 уровень - ALERT (Уровень тревоги);
- 2 уровень - CRITICAL (Критические ошибки, при которых дальнейшая работа приложения невозможна);
- 3 уровень - ERROR (Ошибки, при которых работа приложения возможна);
- 4 уровень - WARNING (Предупреждения, при которых дальнейшая работа приложения возможна);
- 5 уровень - NOTICE (Уведомления);
- 6 уровень - INFO (Вывод информации о происходящих действиях);
- 7 уровень - DEBUG (Вывод подробной информации о происходящих действиях).
Особенность выбора уровня лога заключается в том, что если вы выбрали определённый уровень, то в командной строке (сервера) будут отображаться все уровни до выбранного включительно. К примеру, если вы выбрали уровень "Error", то будут отображаться: "Emergency", "Alert", "Critical", "Error".
Драйверная система
Включает в себя все драйвера находящие в системе сервера.
Система
Включает в себя системный уровень лога, а точнее, отражает всё то, что работает в ядре сервера. Позволяет управлять такими системами как:
- Core (Ядро сервера),
- Database (Ядро базы данных),
- Script (Ядро скриптов),
- WebServer (Ядро вебсервера).
Microsoft Windows
i3 pro для Windows (в отличие от iOS, Android и Mac) позволяет увидеть системный лог прямо в приложении (локальное логирование), а также поддерживает передачу лога на удаленный ПК (удаленное логирование).
Локальное логирование
Лог приложения-клиента i3 pro для Windows вы можете открыть по нажатию F4 в окне приложения (или в Эмуляторе).
Чтобы обеспечить отображение в логе необходимых данных:
:1. Укажите глубину логирования систем и подсистем iRidium в iRidium Studio. Настройка производится во вкладке Debug в окне настроек панельного проекта. Глубина логирования подразделяется на уровни от EMERGENCY (только ошибки) до DEBUG (подробная информация);
:2. Укажите глубину логирования каждого драйвера, добавленного в проект;
:3. Если в вашем проекте есть JavaScript, используйте метод [IR.Log("text")](/SWDL/dev-iridi/Systems_API#irlog) для вывода сообщений.
:

:

:3. Запустите приложение i3 pro или Эмулятор на Windows и нажмите F4 , чтобы открыть лог.
:

Удаленное логирование
Лог i3 pro можно передать на удаленный ПК. Передача производится с помощью программ регистрации системного журнала, обобщенно называемых Syslog Server. Пример такой программы: www.winsyslog.com
Установите и настройте сервер:
:1. укажите UDP-порт запуска сервиса: 514, такой же, как в системных настройках i3 pro :2. запустите Syslog Server
Настройте i3 pro для подключения к Syslog Server:
:1. На вкладке Debug в окне настроек панельного проекта включите опцию Remote Debugging , укажите Host - IP адрес ПК, где запущен Syslog Server. Порт логирования - 514. Укажите глубину логирования систем и подсистем iRidium в iRidium Studio. Глубина логирования подразделяется на уровни от EMERGENCY (только ошибки) до DEBUG (подробная информация). :2. Укажите глубину логирования каждого драйвера, добавленного в проект.
:

:

:3. Удаленное логирование i3 pro можно настроить не только в проекте на ПК, но и через системное меню i3 pro. Откройте меню командой Show System Menu по нажатию правой кнопки на панель в iRidium Transfer, длительным нажатием по нерабочей области проекта или свайпом от левого края экрана. Во вкладке Remove debug активируйте удаленное логирование Enable и укажите Host - IP адрес ПК с Syslog Server, порт (514) и уровень логирования.
:

Apple iOS, Mac OS X, Google Android
i3 pro для iOS, Android и Mac (в отличие от Windows) не позволяют увидеть системный лог прямо в приложении, поэтому для них используют удаленное логирование:
Удаленное логирование
Лог i3 pro можно передать на удаленный ПК. Передача производится с помощью программ регистрации системного журнала, обобщенно называемых Syslog Server. Пример такой программы: www.winsyslog.com
Установите и настройте сервер:
:1. укажите UDP-порт запуска сервиса: 514, такой же, как в системных настройках i3 pro :2. запустите Syslog Server
Настройте i3 pro для подключения к Syslog Server:
:1. На вкладке Debug в окне настроек панельного проекта включите опцию Remote Debugging , укажите Host - IP адрес ПК, где запущен Syslog Server. Порт логирования - 514. Укажите глубину логирования систем и подсистем iRidium в iRidium Studio. Глубина логирования подразделяется на уровни от EMERGENCY (только ошибки) до DEBUG (подробная информация). :2. Укажите глубину логирования каждого драйвера, добавленного в проект.
:

:

:3. Удаленное логирование i3 pro можно настроить не только в проекте на ПК, но и через системное меню i3 pro. Откройте меню командой Show System Menu по нажатию правой кнопки на панель в iRidium Transfer, длительным нажатием по нерабочей области проекта или свайпом от левого края экрана. Во вкладке Remove debug активируйте удаленное логирование Enable и укажите Host - IP адрес ПК с Syslog Server, порт (514) и уровень логирования.
:

Особенности отладки приложения для Android
Отладка по USB
Позволяет сохранить лог работы приложения i3 pro на Android в текстовый файл. Сохраненный лог может быть использован для обнаружения ошибок в работе программы.
Получение информации о работе приложения
-
В панельном проекте на ПК: Нажмите F3, то можно увидеть информацию о работе приложения с памятью.
-
В проекте на мобильном устройстве:
Откройте системное меню, вкладка "Screen", "Show FPS":

После включения появится информация о работе приложения:

- FPS - количество кадров в секунду;
- SPRITES - память под спрайты, в Кб (для них отдельный уборщик мусора);
-
- count - количество спрайтов (ограничено, можно увеличить в системном меню);
-
- free - количество свободных спрайтов.
- MEMORY - общее количество оперативной памяти на устройстве (на Android всегда будет отображаться 0);
- SCRIPT:
Первое число - всего памяти, которую обслуживает уборщик мусора, в Кб (100-150 Мб норма). Если проект пустой, то будет показано использование памяти системными скриптами (например, меню);
Второе число - текущее заполнение памяти, т. е. объём использованный уборщиком мусора, в Кб (уборка мусора начинается при 8 Mb);