Ошибка при чтении файла логов в сценарии

0 голосов
Ildar Bulatov в категории Ошибки

Добрый день!

Нашей команде разработчиков понадобился способ удобного просмотра логов для самостоятельного решения инцидентов без привлечения администратора сервера.

Поскольку функция просмотра логов в веб-интерфейсе Лоджинома отсутствует, я исследовал альтернативы.

Как вариант решения - реализация сценария с парсингом текстовых файлов, куда пишутся логи, и отображение полученной информации при помощи визуализатора "таблица". Доступность логов для возможности их чтения в сценарии наш админ сделал при помощи организации символьной ссылки на каталог с логами в файловом хранилище Лоджинома (как было описано в статье по ссылке https://loginom.ru/blog/symbolic-link)

Но при попытке чтения актуального файла логов (app.log) возникает следующая ошибка:

Access violation at address 0000000100B6A584. Read of address 0000000000000028

Чтение архивных файлов логов (app.log.1, app.log.2, ... app.log.N) выполняется успешно

Понятно, что файл логов активно используется службой Лоджинома для записи, но как будто установлена блокировка на чтение из сценария Лоджинома, в блокноте файл открывается без проблем, со слов админа

Подскажите пожалуйста, как можно решить данную проблему.

Краткая техническая информация:

Loginom редакции Team версии 7.2.0

Служба сервера запускается и работает под системной учетной записью

Ответ: 1 шт.

+1 голос
vitaliy.tatarskih

1. Из описания не ясно на каком именно этапе (в каком узле) возникает ошибка

2. Возникает ли Access violation если файл скопировать в другое местоположение и импортировать его от-туда?

Ожидаем ваших ответов в письме на help@loginom.ru (так же укажите версию ОС и команды, которые вы использовали для создания символических ссылок)

Ildar Bulatov
Виталий, здравствуйте

Ответы на вопросы и дополнительную информацию вчера направил на help@loginom.ru
vitaliy.tatarskih

Добрый день. Ваше письмо получено. Сотрудник ТП ответит вам. Скорее всего обходным решением в вашей ситуации будет применение компонента копирования файла из библиотеки https://github.com/loginom/loginom-fileapi-kit (выберите подходящий релиз: https://github.com/loginom/loginom-fileapi-kit/releases ) для предварительного копирования файла логов в другое местоположение и уже после этого осуществлять импорт. Компонент основан на функционале File Storage API  узла JS (см. https://help.loginom.ru/userguide/processors/programming/java-script/fileapi.html ), при желании вы сами можете реализовать копирование файла. Пример кода из описания File Storage API:

import * as fs from "builtIn/FS";

fs.copyFileSync("/user/test.lgp", "/user/loginom/test.lgp");

 или используйте готовый компонент

Ildar Bulatov
Виталий, добрый день! Спасибо.
...