Опубліковано: 25 Жовтня 2017
Журнал повідомлень

У процесі розробки додатку і/або його налагодження виникає необхідність отримання інформації про стан змінних чи повідомлення з інформацією про помилки. Для цих цілей в Tizen використовується бібліотека dlog. Перевірити журнал повідомлень, як свого, так і інших додатків на пристрої/емуляторі можна з допомогою утиліти dlogutil.

Вивід повідомлень

Щоб використовувати API бібліотеки dlog, необхідно включити в проект заголовний файл dlog.h:

#include <dlog.h>

Реєстрація повідомлення включає в себе текст і пріоритет повідомлення, а також тег. Пріоритет вказує на ступінь важливості повідомлення. У середовищі розробки ці повідомлення виділяються різними кольорами. У бібліотеці представлені наступні пріоритети:

DLOG_VERBOSE Повідомлення, що містять детальну інформацію.
DLOG_DEBUG Повідомлення для перевірки виконання програми.
DLOG_INFO Інформаційні повідомлення.
DLOG_WARN Повідомлення, що попереджають про можливі помилки.
DLOG_ERROR Повідомлення про помилки. Помилки можна опрацювати і продовжити виконання програми, обмеживши її функціональність чи продуктивність.
DLOG_FATAL Повідомлення про помилки, які неможливо опрацювати. Виникнення таких помилок призводить до того, що програма не може далі виконуватись.

Джерело повідомлень в журналі можна вказати за допомогою тегу. Тег – це рядок, що ідентифікує додаток чи модуль. Виведення повідомлень забезпечує функція:

int dlog_print(log_priority prio, const char *tag, const char *fmt, ...);

Такі аргументи як: пріоритет, тег і формат(рядок, який може включати в себе різні специфікатори, які замінюють значення і які вказуються після формату). У разі успішного виконання, функція повертає кількість записаних байтів. У разі невдалого виконання – від’ємне значення.

Тепер давайте розглянемо, як вивести декілька повідомлень з різними пріоритетами і переглянути їх через вікно журналу повідомлень в Tizen Studio.

dlog_print(DLOG_VERBOSE, "lessonwear013", "Повідомлення пріоритету DLOG_VERBOSE.");
dlog_print(DLOG_DEBUG, "lessonwear013", "Повідомлення пріоритету DLOG_DEBUG.");
dlog_print(DLOG_INFO, "lessonwear013", "Повідомлення пріоритету DLOG_INFO.");
dlog_print(DLOG_WARN, "lessonwear013", "Повідомлення пріоритету DLOG_WARN.");
dlog_print(DLOG_ERROR, "lessonwear013", "Повідомлення пріоритету DLOG_ERROR.");
dlog_print(DLOG_FATAL, "lessonwear013", "Повідомлення пріоритету DLOG_FATAL.");
nw_013_01_uk

В IDE журнал доступний у вкладці Log. Відкриваємо її через Window → Show view → Log. Повідомлення виділені кольором пріоритету. Також їх можна відфільтрувати по тегу чи по вмісту повідомлення. Можна увімкнути/вимкнути повідомлення окремого типу.

Перегляд журналу повідомлень з консолі

На пристрої переглянути журнал повідомлень можна з допомогою утиліти dlogutil. Підключаємось до пристрою через sdb. Спочатку аби використовувати SDB, встановіть пристрій в режим SDB, перейдіть в Settings → More system settings → Developer options → USB debugging. У консолі пропишіть команду sdb connect device.ip. Для перегляду журналу викликаємо dlogutil. У загальному випадку, команда має наступний вигляд:

dlogutil [<option>] ... [<filter-spec>] ...

Вираз фільтра включає tag:priority. Аби переглянути інформаційні повідомлення вашого додатку потрібно викликати:

dlogutil lessonwear013:I

Аби переглянути повідомлення всіх пріоритетів потрібно викликати:

dlogutil lessonwear013:*

Тепер ви можете виводити у вікно логування свої повідомлення про помилки або з додатковою інформацією про ваш додаток.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *