Перейти к основному содержимому

Логирование

Описание

Логирование - инструмент, необходимый в процессе отладки проектов iRidium. Особенно важно получение лога, если в вашем проекте используется JavaScript.

ServerConsoleLog.png Общая система состоит из трёх частей:

  • Подсистема (Выделено Красным);
  • Драйвера (Выделено Желтым);
  • Система (Выделено зеленым).

Подсистема - это общие уровни управления логом.
Существуют такие как:

  • 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) для вывода сообщений.

:

Log1.png

:

Log2.png

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

:

Log_window.png

Удаленное логирование

Лог 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. Укажите глубину логирования каждого драйвера, добавленного в проект.

:

Log1.png

:

Log2.png

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

:

Log3-4.png

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. Укажите глубину логирования каждого драйвера, добавленного в проект.

:

Log1.png

:

Log2.png

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

:

Log3-4.png

Особенности отладки приложения для Android

Отладка по USB

Позволяет сохранить лог работы приложения i3 pro на Android в текстовый файл. Сохраненный лог может быть использован для обнаружения ошибок в работе программы.

См. Android USB Debugging

Получение информации о работе приложения

  • В панельном проекте на ПК: Нажмите F3, то можно увидеть информацию о работе приложения с памятью.

  • В проекте на мобильном устройстве:

Откройте системное меню, вкладка "Screen", "Show FPS":

FPS_en.png

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

F3.png

  • FPS - количество кадров в секунду;
  • SPRITES - память под спрайты, в Кб (для них отдельный уборщик мусора);
    • count - количество спрайтов (ограничено, можно увеличить в системном меню);
    • free - количество свободных спрайтов.
  • MEMORY - общее количество оперативной памяти на устройстве (на Android всегда будет отображаться 0);
  • SCRIPT:

Первое число - всего памяти, которую обслуживает уборщик мусора, в Кб (100-150 Мб норма). Если проект пустой, то будет показано использование памяти системными скриптами (например, меню);

Второе число - текущее заполнение памяти, т. е. объём использованный уборщиком мусора, в Кб (уборка мусора начинается при 8 Mb);