Дополнительные действия
AZykov (обсуждение | вклад) Новая страница: « Предыдущая статья курса: Разработка сервисов Следующая статья курса: Получение информации о пользователе Предыдущая статья курса: Разработка сервисов Категория:Курс "Разработка приложений"» |
AZykov (обсуждение | вклад) Нет описания правки |
||
Строка 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. Пример показан на скриншоте. Данные параметры создаются автоматически при активации пакета.
Получение лог-журналов из интерфейса платформы

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