Открыть меню
Платформа Эра. Документация
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.

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

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