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

Отладка и логирование: различия между версиями

Материал из Платформа Эра. Документации
Новая страница: « Предыдущая статья курса: Разработка сервисов Следующая статья курса: Получение информации о пользователе Предыдущая статья курса: Разработка сервисов Категория:Курс "Разработка приложений"»
 
Нет описания правки
Строка 1: Строка 1:
  Предыдущая статья курса: [[Разработка сервисов]]
  Предыдущая статья курса: [[Разработка сервисов]]


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


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


* debug
* info
* warning
* trace
* error
* exception
* core


Ведение логов производится при помощи обращения к ''this.log'':<syntaxhighlight lang="typescript">
    async onInit() {
        await super.onInit();
        try {
        }
        catch (e) {
            this.log.exception("onInit", e);
        }
    }
</syntaxhighlight><syntaxhighlight lang="typescript">
    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();
    }
</syntaxhighlight>При разработке сервиса локально на компьютере разработчика, удобно задать уровень логов, который будет отображаться в консоли. Сделать это можно в конструкторе класса сервиса с помощью обращения к свойству ''this.log.consoleLevel'':<syntaxhighlight lang="typescript">
class HolderService extends Service {
    constructor() {
        super("creomate_tutorial.HolderService");
        this.log.consoleLevel = EBaseLogLevel.debug;
        this.load();
    }
}
</syntaxhighlight>Детальную информацию о структуре хранения лог-журналов можно найти на [https://vendor.era-platform.ru/docs/era/latest/logs/index.html ресурсе Vendor].
[[Файл:Установка уровня логирования сервиса в платформе.png|мини|Установка уровня логирования сервиса в платформе]]
Если сервис запускается локально на компьютере разработчика, то логи пишутся в консоль, согласно установленной в сервисе настройке consoleLevel. При этом данная настройка не влияет на фиксацию логов в случае исполнения сервиса средствами платформы.
Для задания уровня логирования сервиса платформой, необходимо задать этот уровень в настройках платформы.
Настроить уровень логирования можно в приложении Администратор платформы, в разделе Параметры -> Система.
Параметр будет иметь имя ''logs.[package_name].[service_name].level''. Пример показан на скриншоте. Данные параметры создаются автоматически при активации пакета.
= Получение лог-журналов из интерфейса платформы =
[[Файл:Сборка логов сервисов в приложении Настройки.png|мини|Сборка логов сервисов в приложении Настройки]]
Для получения лог-журналов сервисов и других модулей системы, не обязательно использовать прямой доступ к файловой системе сервера.
Для получения журналов, в приложении Настройки есть специальный раздел "Сборка логов". С помощью этого инструмента можно собрать архив логов за определенный временной промежуток, по конкретным сервисам пакета, или другим платформенным сервисам и микросервисам.
= Отладка сервисов =





Версия от 14:01, 10 марта 2025

Предыдущая статья курса: Разработка сервисов

Логирование

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

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

  • 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. Пример показан на скриншоте. Данные параметры создаются автоматически при активации пакета.

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

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

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

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

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

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