Вся основная статусная информация, касающаяся Адаптера, его процессов и взаимодействия с Единой Системой СМЭВ, записывается в лог файлы ИУА. Данные записи размещаются в папке установки Адаптера, обычно по пути C:\Program Files\SmevAdapter\logs для Windows и /opt/adapter/logs для Linux. Для каждого дня работы формируется отдельный лог файл (Рисунок 1).
Рисунок 1 – Каталог лог файлов для ИУА в Windows.
Поэтому для получения сведений о конкретной дате нужно открыть соответствующий этой дате файл. Для получения сведений за текущий день смотреть файл с именем smev-adapter.log. В файле storage-tool.log фигурирует результат развертывания объектов для базы данных. Он может быть полезен при получении дополнительных сведений после установки или обновлении Адаптера. Во всех остальных случаях пользуемся smev-adapter файлами.
Записи в логах состоят из даты, времени фиксации события, наименования потока (например, [smevTaskExecutorInbound-1]), типа записи (например, INFO), наименования внутреннего компонента (например, r.r.s.a.c.d.DeliveryServiceImpl ) и самого события.
По наименованию потока можно определить, связаны ли логически соседние строчки логов или нет. Например, здесь записи логически связаны – поток один:
28-04-2022 18:56:06.405 [smevTaskExecutorInbound-1] INFO r.v.s.c.a.t.i.LargeAttachmentTransportSauronImpl - Begin upload! 03b868af-c032-4c37-8b8e-af3cc767ef25
28-04-2022 18:56:06.566 [smevTaskExecutorInbound-1] INFO r.v.s.c.a.t.i.LargeAttachmentTransportSauronImpl - connected to: "smev3-n0.test.gosuslugi.ru"
28-04-2022 10:10:13.573 [smevTaskExecutorOutbound-6] INFO r.r.s.a.i.a.IntegrationAmqpRequestGenerator - checkAvailability=true
28-04-2022 10:10:13.572 [task-scheduler-2] INFO r.r.s.a.c.c.s.ConfigurationManagerImpl - reload adapter config!
Таким образом, можно делить события по потокам.
Возвращаясь к типам записей, они бывают:
-
INFO – информационные записи;
-
WARN – предупреждающие записи;
- ERROR – записи, содержащие ошибку.
Но важно помнить, что записи с типом INFO будут присутствовать только в том случае, если используется уровень логирования по умолчанию – INFO – п. 1.5 Общих настроек конфигурации Адаптера (Рисунок 2). Если используется уровень WARN, то будут доступны только типы записей WARN и ERROR.
Рисунок 2 – Варианты использования уровней логирования.
Стоит также отметить, что при необходимости можно включить логирование полных конвертов запросов и ответов в лог файлы – базово они не записываются туда, а хранятся в БД и в виде xml файлов в папке, заданной при установке ИУА.
Но если все же необходимость во включении логирования есть, нужно перейти в Настройки конфигурации адаптера, проставить галочки в пунктах 2.7 и 2.8 (Рисунок 3).
Рисунок 3 – Настройки включения логирования входных и выходных данных.
Под входными данными понимают ответы и статусные сообщения от СМЭВ для потребителя и запросы и статусные сообщения для поставщика. Под выходными – сообщения, отправляемые ИС участника, в том числе методом GetRequestRequest (опрос очереди ИС) и AckRequest (подтверждение о получении сообщения системой).
Независимо от того, включено логирование входных и выходных данных или нет, в логах будут присутствовать записи, сообщающие об осуществлении отправки и получения сообщений (тип INFO).
При выключенном логировании входных и выходных данных и используемом уровне по умолчанию INFO необходимо ориентироваться на записи следующего формата:
INFO r.r.s.a.l.s.SingleLoggingRequestSender - LogEventMessage{timestamp=время в формате timestamp, moduleId='single-adapter', clientId='идентификатор сообщения, сгенерированный УВ', messageId='идентификатор сообщения, присвоенный СМЭВ', informationSystemCode='Мнемоника ИС', eventType=MESSAGE_SENT_TO_SMEV, message='Message sent to SMEV: …
где eventType – тип события;
Также EventType бывают:
- MODULE_STARTUP – событие запуска службы ИУА;
-
CONFIGURING_EVENT – изменения конфигурации ИУА;
-
MESSAGE_SENT_TO_SMEV – успешно отправлено в СМЭВ, содержит бизнес-сведения запроса (MessagePrimaryContent) в поле messageContent;
-
MESSAGE_SENT_TO_IS – получено сообщение для ИС, содержит бизнес-сведения ответа (MessagePrimaryContent) в поле messageContent;
-
PROCESSING_ERROR – ошибка ИУА в ходе отправки сообщения;
-
FS_METADATA_SENDING_ERROR – ошибка в ходе отправки вложения в ФХ.
Это список наиболее часто встречающихся типов событий. Каждый из них сопровождается сообщением, описывающем событие (message) - как в последнем примере.
Также при формировании конвертов ИУА и сохранении их в заданную директорию будут зафиксированы записи, подтверждающие данную операцию. Например:
INFO r.v.s.c.a.t.impl.v1_3.WSTemplateImpl - save SendRequestRequest to C:UsersUserXMLStoragemessagesTest123{accbd9f6-c70b-11ec-a518-9eb6d0fdc8a9}-{SendRequestRequest}-{SUCCESS}.xml
При включенном логировании входных и выходных данных будут фигурировать все записи, касающиеся отправленных и полученных сообщений, в том числе записи опроса очереди и подтверждения получения сообщения (Таблица 1).
Таблица 1. Примеры логов используемых методов отправки сообщений в СМЭВ при включенном логировании входных и выходных данных.
INFO r.v.s.c.a.t.impl.v1_3.WSTemplateImpl - Send request-request <Конверт сообщения> |
Отправка запроса в СМЭВ |
INFO r.v.s.c.a.t.impl.v1_2.WSTemplateImpl - Get request-request <Конверт сообщения> |
Отправка запроса на вычитку очереди запросов |
INFO r.v.s.c.a.t.impl.v1_3.WSTemplateImpl - Send response-request <Конверт сообщения> |
Отправка ответа в СМЭВ |
INFO r.v.s.c.a.t.impl.v1_2.WSTemplateImpl - Get response-request <Конверт сообщения> |
Отправка запроса на вычитку очереди ответов |
INFO r.r.s.a.i.s.i.r.AbstractReceiver - calling ack with messageId=a8f1bd50-c6e8-11ec-a42f-4f363b3fd82d |
Отправка подтверждения получения сообщения |
INFO r.r.s.a.i.s.i.r.AbstractReceiver - ack done for a received message a8f1bd50-c6e8-11ec-a42f-4f363b3fd82d |
Подтверждение сообщения осуществлено |
В случае возникновения проблем в ходе отправки сообщения (напр., недоступности адреса) ИУА будет продолжать попытки отправить конверт. О чем будут свидетельствовать следующие записи:
INFO r.r.s.a.c.d.DeliveryServiceImpl - called getRetryDeliveryLogRecords: maxRetryCount=4, retryIntervalSec=5
INFO r.r.s.a.s.DeliveryLogProcessor - Send to retry record=DeliveryLog{id=a2d82cab-997f-8f0e-53f1-2cd39a378675, client_id=a2d82cab-997f-8f0e-53f1-2cd39a378675, message_id=null, reference_client_id=null, reference_message_id=null, isMnemonic=Test123, retry_msg_txt='93 bytes, is_message='null', smev_message='null', smev_response='null', stage='INNER', status='ERROR', message_type='REQUEST', direction='IS_2_SMEV', error_code='SYSTEM', stacktrace='9503 bytes', try_count=-1, created_at=2022-04-28T12:00:00.000, changed_at=2022-04-28T14:00:00.000}
где maxRetryCount и retryIntervalSec - значения, задаваемые в пунктах 6.2 и 6.3 соответственно настроек Гарантированной доставки в Конфигурации адаптера. По умолчанию гарантированная доставка включена. Если ее выключить, ИУА перестанет проверять неотправленные сообщения, и выше указанные записи будут отсутствовать.
Также в случае использования вложений могут быть полезны следующие записи:
INFO r.v.s.c.a.t.i.LargeAttachmentTransportSauronImpl - Begin download! (идентификатор сообщения, к которому относится вложение) |
говорит о начале скачивания вложения из ФХ |
INFO r.v.s.c.a.t.i.LargeAttachmentTransportSauronImpl - Begin upload! (идентификатор сообщения, к которому относится вложение) |
говорит о начале загрузки вложения из ФХ |
В случае возникновения ошибок в ходе работы ИУА они будут зафиксированы с категорией ERROR. Примеры наиболее распространённых ошибок с их описанием представлено в таблице 2.
Таблица 2. Примеры основных ошибок в логах ИУА.
ERROR r.v.s.c.a.t.impl.v1_2.WSTemplateImpl - Ошибка получения ответа |
Получена статусная ошибка в GetResponseResponse. Далее в этой же записи фигурирует текст ошибки с конвертом самого сообщения. Подробнее о том, как расшифровать статусные сообщения и рекомендациях по исправлению тут (ссылка на «Возвращаемые ошибки СМЭВ»). |
ERROR r.v.s.c.a.t.impl.v1_2.WSTemplateImpl - Ошибка получения запроса |
Получена статусная ошибка в GetRequestResponse. Далее в этой же записи фигурирует текст ошибки с конвертом самого сообщения. Подробнее о том, как расшифровать статусные сообщения и рекомендациях по исправлению тут (ссылка на «Возвращаемые ошибки СМЭВ»). |
ERROR r.r.s.a.i.w.i.SMEVServiceAdapterService - send failure: Недопустимый идентификатор Информационной системы: "Test112" |
Ошибка при идентификации ИС. Необходимо убедиться, что мнемоника ИС-отправителя указана верно и добавлена в ИУА. |
ERROR r.r.s.a.i.s.i.receiver.ReceiverImpl – Мнемоника ИС receiveMessages from REQUEST failure: private key or certificate not set |
Ошибка в ходе проверки открытой части сертификата. Подробнее об исправлении в описании ошибки. |
ERROR r.r.s.a.i.s.i.receiver.ReceiverImpl - Мнемоника ИС receiveMessages from RESPONSE failure: Возникли проблемы при инициализации XmlSec! |
Не подложены файлы commons-logging-1.1.jar и xmlsec-1.4.5.jar в /usr/java/jre1.8.0_201/lib/ext |
ERROR r.v.s.c.a.t.i.LargeAttachmentTransportSauronImpl - connect to: "smev3-n0.test.gosuslugi.ru" failure: connect timed out |
|
FileException: Error while invoke upload files to FTP |
Ошибка в ходе загрузки вложений. Необходимо убедиться в верности указанного адреса ФТП-сервера СМЭВ и его сетевой доступности с машины, на которой установлен ИУА (п.3.1 Конфигурации Адаптера). |
ERROR r.v.s.c.a.t.i.LargeAttachmentTransportSauronImpl - login failure: Login incorrect. it.sauronsoftware.ftp4j.FTPException: Login incorrect. |
Неверно указаны учетные данные для подключения к ФХ (п.7 Конфигурации информационной системы). |
ERROR r.r.s.a.i.s.i.receiver.ReceiverImpl - 1202 receiveMessages from RESPONSE failure: Не удалось инициализировать фабрику! |
Рекомендуется переустановить КриптоПро JCP |
ERROR Exception: Client receivedSOAP Fault from server: Ошибка системы генерации кодов транзакций! |
Ошибка в обращении к системе генерации кодов транзакций (СГКТ). Необходимо убедиться в корректности используемого адреса в п.2.4 Конфигурации адаптера. С версии ИУА 2.2.0 обращение в СГКТ не обязательно, можно генерировать код транзакций самостоятельно. |
ERROR r.r.s.a.i.s.i.receiver.ReceiverImpl – Test123 receiveMessages from RESPONSE failure: Smev not available! |
Недоступность среды СМЭВ – убедиться в корректности заполнения адресов в п.2 Конфигурации адаптера; восстановить сетевую доступность до конечных адресов. |