API Set10 ◾️ Логирование работы плагинов

Публичное пространство

API Set10 ◾️ Логирование работы плагинов

https://crystals.atlassian.net/browse/SR-8438

https://crystals.atlassian.net/browse/CR-14513

10.4.21.0

Принцип логирования

Логер пишет все логи плагина c максимальным уровнем логирования. Конфигурация логера по умолчанию не допускает разрастания лога более 1000 Кb. В случае превышения этого лимита, файл начинается заново, а предыдущий копируется с другим именем. Всего может быть до четырех таких файлов. 

В версии SetRetail10 10.4.21.0 логирование расширено: теперь в логах фиксируется передача управления с кассы в плагин и наоборот (с указанием вызванного метода). Такой вариант хорошо работает для плагинов по типу плагина валидации акцизных марок (https://crystals.atlassian.net/wiki/spaces/SR10SUPPORT/pages/5427855546), которые не могут показывать формы (uiForms) и работают синхронно. Но, например, плагины тех. процесса (https://crystals.atlassian.net/wiki/spaces/SR10SUPPORT/pages/5479268408) работают совсем по-другому: возврат управления кассе осуществляется через асинхронный callback.

Расширенное логирование

Логирование всегда работает по умолчанию и не требует включения или дополнительных настроек со стороны пользователя. Единственная доступная настройка - включения логирования передачи управления процессами на кассе плагину и обратно.

Включение функциональности описано ниже в главе https://crystals.atlassian.net/wiki/spaces/SR10SUPPORT/pages/722632728/API+Set10#%D0%92%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BB%D0%BE%D0%B3%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%87%D0%B8-%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F.

Добавлено расширенное логирование:

  • POS - SetRetail10_Cash:

    • PaymentCallback - ExtPaymentContainer.java - добавлено логирование для paymentCompleted, paymentNotCompleted;

    • TransactionalRefundCallback - ExtPaymentContainer.java - добавлено логирование для refundCompleted;

    • CardSearchCallback, CardIssueCallback, CardSearchFinishedCallback - уже было в SetApiCardPluginSearchRoutine.java;

    • AddForSaleCallback, AddForRefundCallback - уже было в PluginDialogsRoutine.java;

    • FunctionCallback - SetApiFunctionController.java - добавлено логирование для processComplete.

  • Touch2 - SetRetail10_Cash_Touch2:

    • PaymentCallback - уже было в ExternalPaymentPlugin.java;

    • TransactionalRefundCallback - ExternalPaymentPlugin.java - добавлено логирование для refundCompleted;

    • AddForSaleCallback, AddForRefundCallback - SetApiGoodsPlugin.java - добавлено логирование для notCompleted методов;

    • RemoveFromSaleCallback - уже было в SetApiGoodsPlugin.java;

    • FunctionCallback - SetApiFunctionPlugin.java - добавлено логирование для processComplete.

  • SCOv2 - SetRetail10_SCO:

    • PaymentCallback - ExtPaymentContainerSCO.java - добавлено логирование для paymentCompleted, paymentNotCompleted.

  • SCOv3 - SetRetail10_SCO/SCOv3:

    • FunctionCallback - WebViewAdapter.java - добавлено логирование для processComplete.

  • Добавлено логирование для форм (uiForms);

  • Добавлено логирование асинхронных методов onClose - события закрытия форм в тех процессе (касса не ждет их закрытия).

Пример логирования передачи управления

04.08 11:33:04.531 INFO [SetApiPluginReportLogger] Start techProcess intercept to plugin test.techprocess.plugin. | main 04.08 11:33:04.531 INFO [SetApiPluginReportLogger] leaving test.techprocess.plugin to plugin techProcess intercept | main 04.08 11:33:04.531 INFO [SetApiPluginReportLogger] Start techProcess intercept to plugin ru.crystals.setapi.stoloto.techprocess.plugin. | main 04.08 11:33:04.532 INFO [SetApiPluginReportLogger] leaving ru.crystals.setapi.stoloto.techprocess.plugin to plugin techProcess intercept | main

Включение логирования передачи управления

  1. На кассе перейдите в папку /home/tc/storage/crystal-cash/modules/loader → откройте для редактирования файл log4j.xml.

image-20251121-132234.png
  1. Для параметра Logger name="ru.crystals.api.logger” установите значение level="TRACE” → сохраните изменения в файле.

image-20251121-140348.png
  1. Перезагрузите кассу.

Лог-файл

На кассе лог-файл с отслеживанием действий плагина располагается в папке /storage/crystal-cash/logs/plugins.log.

Сервер

На сервере никакого логирования действий плагина не предусмотрено!

Пример содержания лог-файла:

© 1994-2025, ООО «Кристалл Сервис Интеграция».
Все права защищены.

Политика обработки персональных данных