Открыть меню
Платформа Эра. Документация
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Отладка и логирование

Материал из Платформа Эра. Документации
Предыдущая статья курса: Разработка сервисов

Логирование

Платформа представляет специальный набор методов для качественного ведения лог-журналов.

При разработке выделяется следующий перечень уровней логирования:

  • debug
  • info
  • warning
  • trace
  • error
  • exception
  • core

Ведение логов производится при помощи обращения к this.log:

    async onInit() {
        await super.onInit();
        try {
        }
        catch (e) {
            this.log.exception("onInit", e);
        }
    }
    async Contact_startSvc(invocation_: IInvocation) {
        var id = invocation_.request?.id;
        this.log.info("Contact_startSvc for id=" + id);
        if (!id)
            return "id is empty";
        var contacts = new Contacts();
    }

При разработке сервиса локально на компьютере разработчика, удобно задать уровень логов, который будет отображаться в консоли. Сделать это можно в конструкторе класса сервиса с помощью обращения к свойству this.log.consoleLevel:

class HolderService extends Service {
    constructor() {
        super("creomate_tutorial.HolderService");
        this.log.consoleLevel = EBaseLogLevel.debug;
        this.load();
    }
}

Детальную информацию о структуре хранения лог-журналов можно найти на ресурсе Vendor.

Установка уровня логирования сервиса в платформе

Если сервис запускается локально на компьютере разработчика, то логи пишутся в консоль, согласно установленной в сервисе настройке consoleLevel. При этом данная настройка не влияет на фиксацию логов в случае исполнения сервиса средствами платформы.

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

Настроить уровень логирования можно в приложении Администратор платформы, в разделе Параметры -> Система.

Параметр будет иметь имя logs.[package_name].[service_name].level. Пример показан на скриншоте. Данные параметры создаются автоматически при активации пакета.

Параметр LogLevel применяется к запущенным сервисам автоматически и не требует рестарта сервера.

Получение лог-журналов из интерфейса платформы

Сборка логов сервисов в приложении Настройки

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

Для получения журналов, в приложении Настройки есть специальный раздел "Сборка логов". С помощью этого инструмента можно собрать архив логов за определенный временной промежуток, по конкретным сервисам пакета, или другим платформенным сервисам и микросервисам.

Отладка сервисов

Отладка сервисов в рамках платформы может осуществляться локально на компьютере разработчика, используя стандартные способы отладки NodeJS.

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

Пример статьи по отладке NodeJS-приложений с помощью VSCode.

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

Следующая статья курса: Получение информации о пользователе
Предыдущая статья курса: Разработка сервисов