Сервис логирования — различия между версиями
| [непроверенная версия] | [досмотренная версия] |
Gavrilov (обсуждение | вклад) (→Настройка конфигурационного файла web.config) |
Gavrilov (обсуждение | вклад) (→Настройка конфигурационного файла web.config) |
||
| Строка 227: | Строка 227: | ||
|- style="vertical-align:text-top" | |- style="vertical-align:text-top" | ||
| 8 | | 8 | ||
| − | | Название базы данных для сервиса логирования | + | | Название базы данных для сервиса логирования '''*Обязательно для заполнения''' |
| Настройка, позволяющая указать в какую базу данных MongoDB записывать логи | | Настройка, позволяющая указать в какую базу данных MongoDB записывать логи | ||
| <syntaxhighlight lang="xml" enclose="div"> | | <syntaxhighlight lang="xml" enclose="div"> | ||
Текущая версия на 19:31, 21 августа 2025
Содержание
Введение
Служба сервиса логирования LogService предназначена для централизованного приёма и хранения логов от клиентских приложений. Она принимает данные по HTTP и сохраняет их в MongoDB, автоматически создавая коллекции и управляя сроком хранения.
Предусловия установки
Служба LogService должна устанавливаться на компьютере, имеющем доступ к серверу базы данных MongoDB, или на компьютере, который сам является сервером базы данных.
Установка службы сервиса логирования
- Скопировать папку LogService из дистрибутива на сервер.
- Перед установкой службы сервиса логирования необходимо настроить конфигурационный файл appsettings.json.
Настройка конфигурационного файла appsettings.json
| № | Название | Описание | Настройка |
|---|---|---|---|
| 1 | Название службы | Задается название службы. По умолчанию служба будет создана с названием MegatecLogService. | "ServiceName": "MegatecLogService"
|
| 2 | Адрес службы | Адрес, на который поступают входящие HTTP-запросы. | "ServiceAddress": [ "http://*:6060" ]
|
| 3 | IP-адрес | IP-адрес, на котором будет работать служба. | "IPAddress": "IPAddress.IPv6Any"
|
| 4 | Строка подключения к MongoDB | Адрес подключения к серверу MongoDB. | "MongoConnectionString": "mongodb://bernoulli.megatec.ru:27017"
|
| 5 | Префиксы коллекций | Префиксы имён коллекций по уровням логирования. | "CollectionPrefixes": {
"Info": "Info_",
"Error": "Error_"
}
|
| 6 | Срок хранения логов | Время хранения коллекций (в месяцах). | "RetentionMonths": 12
|
| 7 | Инициализация при запуске | Загружать все коллекции при запуске службы. | "InitializeOnStartup": true
|
| 8 | Автоочистка | Включает удаление устаревших коллекций. | "EnableAutoCleanup": true
|
| 9 | Интервал очистки | Интервал автоочистки в минутах (не используется). | "CleanupIntervalMinutes": 30
|
| 10 | Индексы по умолчанию | Индексы, создаваемые для каждой коллекции. | "DefaultIndexes": [
"Date",
"Level",
"Logger",
"Properties.MethodName"
]
|
- Установка осуществляется запуском скрипта _Install.bat от имени администратора.

- При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта LogService.

- В Службах Windows добавляется служба MegatecLogService.
- Для удаления службы необходимо запустить скрипт _UnInstall.bat от имени администратора. При этом будут удалены правила для входящих подключений.
Формат входящих сообщений
Одиночный лог
{
"DatabaseName": "IntegrationService1",
"LogJson": "{ \\"Level\\": \\"Info\\", \\"Date\\": \\"2025-06-16T06:49:27Z\\", \\"Logger\\": \\"SomeClass\\", \\"Message\\": \\"Message text\\" }"
}
Пакет логов
{
"DatabaseName": "IntegrationService1",
"LogsJson": [
"{ \\"Level\\": \\"Info\\", \\"Date\\": \\"2025-06-16T06:49:27Z\\", ... }",
"{ \\"Level\\": \\"Error\\", \\"Date\\": \\"2025-06-16T06:50:00Z\\", ... }"
]
}
Хранение логов
- Каждая коллекция создаётся в формате: <префикс><год_месяц> (например: Info_2025_07).
- Коллекции создаются и индексируются автоматически.
- Устаревшие коллекции удаляются при поступлении новых (если включена автоочистка).
- Собственные логи службы сохраняются в:
* Logs/RunLogger.txt — стандартные сообщения; * Logs/ExceptionLogger.txt — ошибки.
Настройка IntegrationService Interlook для работы с сервисом службы логирования
Настройка конфигурационного файла web.config
Настройки задаются в секции <appSettings> файла web.config.
| № | Описание | Значение | Настройка |
|---|---|---|---|
| 1 | Подключение к базе данных | Строка подключения к базе данных | <add key="connectionString" value="Data Source=server;Initial Catalog=Base;User Id=User;Password=Password;Application Name=Interlook.IntegrationService" />
|
| 2 | Процедура перезапуска кэша | cachingTime
"cachingTime" value="-1" - инициализация кэша максимально производительная: каждый отель загружается в своем потоке, данные в кэше хранятся постоянно (возможны сбои). |
<add key="cachingTime" value="-1"/>
|
| 3 | Уровень использования процессора | parallelismDegree Уровень использования процессора при расчетах |
<add key="parallelismDegree" value="70"/>
|
| 4 | Включение логирования о использовании памяти сервера | LogCacheMemory Настройка служит для регулирования записи логов в таблицу базы данных. |
<add key="LogCacheMemory" value="2"/>
|
| 5 | Настройка для включения логирования с использование сервиса логирования | Настройка, позволяющая включать и выключать запись логов в сервис логирования
По умолчанию настройка установлена в значении false. |
<add key="EnableLogServiceLogging" value="true" />
|
| 6 | Настройка для установления уровня логирования при использовании сервиса логирования | Настройка, позволяющая регулировать уровень записи логов.
Может ринимать значенимя Trace,Debug,Info,Warn,Error,Fatal,Off |
<add key="LogServiceMinimumlLogLevel" value="Debug" />
|
| 7 | Адрес сервиса логирования | Адрес сервиса логирования | <add key="LogService" value="http://localhost:6060" />
|
| 8 | Название базы данных для сервиса логирования *Обязательно для заполнения | Настройка, позволяющая указать в какую базу данных MongoDB записывать логи | <add key="LogServiceDatabaseTarget" value="IntegrationService1"/>
|
| 9 | Количество попыток при ошибке отправки | Число повторных попыток | <add key="LogServiceConnectionAttempts" value="10" />
|
Дополнительно
В секции <system.web> рекомендуется установить:
<compilation debug="false" targetFramework="4.0">
Просмотр информации из базы данных MongoDB
Для просмотра базы данных MongoDB необходимо использовать программу MongoDBCompass.
После скачивания и установки программы необходимо:
Запустить программу.
Указать в поле URL подключение к базе данных.
![]()
В разделе TLS/SSL установить значение Default.
![]()
Далее необходимо нажать кнопку Save&Connect.
Откроется окно ввода названия подключения.
Далее нажать кнопку Save&Connect.

После первой записи ошибок создастся база с названием, указанным в параметре LogServiceDatabaseTarget конфигурационного файла web.config.
![]()
Ошибки сохраняются в папку с соответствующим типом: Debug, Error, Fatal, Info, Trace, Warn.
При открытии папки с типом ошибки отобразятся все записи по ошибкам данного типа.
![]()
Параметры ошибок:
- id — идентификатор ошибки
- Date — дата и время ошибки
- Level — тип ошибки
- Message — метод в котором сформировалась ошибка
- Logger — наименование ПО в котором произошла ошибка
- DBUserID — наименование пользователя от которого сформирована ошибка
- EventInfo — объект данных
- Host
- ThreadID
- ProcessID
- ProcessName
- SessionId
- Host
- Exception — объект данных
- Type — тип ошибки
- Message — сообщение ошибки
- Stacktrace — трассировка стека
- Type — тип ошибки
