Публичное пространство
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 логирование расширено: теперь в логах фиксируется передача управления с кассы в плагин и наоборот (с указанием вызванного метода). Такой вариант хорошо работает для плагинов по типу плагина валидации акцизных марок (API Set10 ◾ Плагин валидации акцизных марок), которые не могут показывать формы (uiForms) и работают синхронно. Но, например, плагины тех. процесса (API Set10 ◾ Плагин тех. процесса) работают совсем по-другому: возврат управления кассе осуществляется через асинхронный callback.
Расширенное логирование
Логирование всегда работает по умолчанию и не требует включения или дополнительных настроек со стороны пользователя. Единственная доступная настройка - включения логирования передачи управления процессами на кассе плагину и обратно.
Включение функциональности описано ниже в главе API Set10 ◾️ Логирование работы плагинов.
Добавлено расширенное логирование:
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Включение логирования передачи управления
На кассе перейдите в папку /home/tc/storage/crystal-cash/modules/loader → откройте для редактирования файл log4j.xml.
Для параметра
Logger name="ru.crystals.api.logger”установите значениеlevel="TRACE”→ сохраните изменения в файле.
Перезагрузите кассу.
Лог-файл
На кассе лог-файл с отслеживанием действий плагина располагается в папке /storage/crystal-cash/logs/plugins.log.
Сервер
На сервере никакого логирования действий плагина не предусмотрено!
Пример содержания лог-файла: