Урок 8. Дополнительные возможности
В данном уроке рассматриваются:
Поиск по шаблону
Универсальный фильтр
Работа с файлами
Точки расширений
Проектное переопределение кода
Шаблоны thymeleaf
Логирование
Мониторинг производительности
SSH-сервис сервера приложений
Локализация приложений
Миграция данных
7. Логирование
Для логирования существует сразу несколько инструментов:
-
Логирование через
Btk_LogИспользует специальную коллекцию переменной ссылочности
Btk_Logи пишет данные в базу. Для логирования коллекция подключается как обычно, после чего доступны для использования методы вставки записей через обычные транзакции или автономные -
Логирование сервера приложений
Использует
Loggerсервера для вывода информации в консоль. Для логирования есть методыtrace,debug,info,warnиerror, которые сохраняют в консоли сервера переданные сообщения с соответствующим уровнем.Пример использования –
_logger.info("Пересчет регистра прав ролей") -
Логирование в инфо-панель
Использует
InfoLogприложения для записи информации в лог сообщений. Для вывода сообщений создано отображениеBtk_InfoLogAvi#Default, которое принято выводить на отдельной панели для основной выборки приложения в нижней части. Для логирования есть методыinfo,warn,errorиconfirm, которые сохраняют в логере переданные сообщения с соответствующим уровнем.Пример использования –
application.infoLog.error("Отмена загрузки файла")Пример открытия инфо-панели –
val vMaster = application.mainSelection if (vMaster.form.findSelection(Btk_InfoLogAvi.default()) == null) { vMaster.createPanelBuilder(Btk_InfoLogAvi.default()).align(Align.bottom).toggle() }
Вручную инфо-панель можно открыть/закрыть из меню
Сервис -> Открыть информационную панель -
Логирование действий пользователя
Используется для отслеживания процесса выполнения запросов и подстановки параметров, последовательности вызова операций и открытия форм.
Руководство разработчика: Отладка приложений # Логирование на сторону клиента