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

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