Журналы системы
В системе Docsvision имеется ряд журналов, которые используются для сбора информации о процессе установки и работы системы:
Настройки журналирования указываются в конфигурационном файле соответствующего сервиса.
Журнал работы сервера
Данный журнал содержит информацию о работе сервера Docsvision. Журнал сервера является средством диагностики при возникновении нештатных ситуаций и предназначен для передачи в службу технической поддержки Docsvision.
По умолчанию журнал сервиса сохраняется в папку /var/log/docsvision/appserver/dvappserver.log. Путь к журналу и уровень журналирования можно настроить в конфигурационном файле модуля Платформа, подробнее работа с конфигурационным файлом описана в разделе "Конфигурация модуля Платформа"
Пример настройки уровня журналирования приведён ниже.
{
"DocsVision": {
"Platform": {
"Server": {
"TraceLevel": 1, (1)
"LogFile": "/var/log/docsvision/appserver/dvappserver.log" (2)
}
}
}
}
| 1 | Уровень журналирования: 0 — журналирование не ведётся, 1 — Error, 2 — Warning, 3 — Info, 4 — Verbose. Если значение не задано, по умолчанию используется "Error". |
| 2 | Путь до файла журнала. По умолчанию /var/log/docsvision/appserver/dvappserver.log. |
|
В системном журнале и журнале приложений может встречаться ошибка Ошибка возникает из-за наличия модуля Конструктор отчетов, несовместимого с Docsvision текущей версии. Обработка запросов от данного модуля будет отключена. |
Журналы установки клиентских компонентов
В журналах установки клиентских компонентов фиксируются события, возникающие в процессе установки клиентской части модулей Docsvision.
Журнал формируется отдельно для каждого из устанавливаемых клиентских компонентов и сохраняется в текстовый файл.
Путь к папке для хранения журналов всех установленных клиентских компонентов указывается в программе Консоль настройки Docsvision в параметре Папка журналов установки раздела "Настройка клиентской части".
Просмотреть журнал можно, открыв файл в текстовом редакторе.
Журнал сообщений сервиса полнотекстового поиска
Данный журнал содержит информацию о работе сервиса полнотекстового индексирования Docsvision.
По умолчанию журналы сообщений сервиса полнотекстового поиска сохраняется в директории /var/log/docsvision/fulltextservice.log.
Подробнее настройка журналирования полнотекстового поиска описана в разделе "Протоколирование работы сервиса полнотекстового индексирования".
Журнал сообщений "Консоли настройки Docsvision"
Консоль настройки Docsvision устанавливается на машину Windows. По умолчанию журнал располагается по адресу Каталог-установки-серверной-части-модуля-Платформа\Logs\ServerConsole.log
-
Откройте Консоль настройки Docsvision.
-
В меню выберите .
-
В окне Общие настройки поставьте флаг
Журналировать операции консоли настройкии укажите путь к файлу журнала в поле Файл журнала.
В журнале ведётся протоколирование событий программы Консоль настройки Docsvision и всех операций, выполняемых через программу.
Журнал работы файлового сервиса
В данный журнал сохраняется информация об ошибках работы файлового сервиса Docsvision, а также информационные сообщения (если включено).
Журнал сервера является средством диагностики при возникновении нештатных ситуаций и предназначен для передачи в службу технической поддержки Docsvision. По умолчанию журнал сервиса сохраняется в папку /var/log/docsvision/fileservice. Путь к журналу и уровень журналирования можно настроить в конфигурационном файле модуля Платформа.
"NLog": {
"targets": {
"logFile": {
"type": "File",
"fileName": "${gdc:baseLogFolder}/docsvision/fileservice/${shortdate}.log", (1)
"layout": "${longdate}|${event-properties:item=EventId_Id}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}"
}
},
"rules": [
{
"logger": "*",
"minLevel": "Warn", (2)
"writeTo": "logFile"
}
]
}
| 1 | Путь к файлу журнала настраивается в параметре \{gdc:baseLogFolder}. По умолчанию используется каталог /var/log/docsvision/fileservice. |
| 2 | Уровень журналирования, по умолчанию используется Warn. |
Подробнее настройка журналирования dvfileservice описана в разделе "Настройка протоколирования работы файлового сервиса Docsvision".
Протоколирование запросов сервера приложений
Протоколирование запросов полезно для анализа входящих запросов на сервере приложений и ответов на них, заголовков и т.д.
-
HTTP запросы и ответы.
-
Дата и время запросов и ответов.
-
Заголовки
Протоколирование запросов сервера приложений настраивается в конфигурационном файле модуля по адресу /usr/lib/docsvision/platform/appsettings.json, за настройку отвечает параметр W3CLogging:
"W3CLogging": {
"IsEnabled": true, (1)
"LogDirectory": "/var/log/docsvision/appserver", (2)
"LoggingFields": "Date,Time,ServerName,Method,UriStem,UriQuery,ProtocolStatus,TimeTaken,ProtocolVersion,Host,UserAgent,Referer,ConnectionInfoFields", (3)
"FileSizeLimit": 10485760, (4)
"RetainedFileCountLimit": 4, (5)
"FileName": "appserver-w3c-" (6)
}
| 1 | Включение/отключение протоколирования событий. Значение по умолчанию: false, в стандартной конфигурации остальные настройки отсутствуют. |
| 2 | Путь к журналу. |
| 3 | Журналируемые поля. По умолчанию указываются запросы, ответы, заголовки, дата/время (записывается в формате UTC) и имя сервера. Со всеми допустимыми значениями можно ознакомиться в документации Microsoft. |
| 4 | Максимальный размер файла журнала, после которого будет создаваться новый. Значение в байтах, по умолчанию 10485760 байт (10 Мб). Цифра 0 означает отсутствие ограничения по размеру. |
| 5 | Количество сохраняемых файлов журнала. Допустимые значения от 1 до 10000, по умолчанию используется 4. |
| 6 | Префикс имени файла журнала. |
Запросы будут записаны в файл /var/log/docsvision/appserver/appserver-w3c-{YYYYMMDD.X}.txt. Настройка альтернативного расширения поддерживается только при протоколировании с NLog, см. подробнее ниже.
Протоколирование запросов с помощью NLog
Если требуется отображать в журналах локальное время или расширить список журналируемой информации, есть возможность подключения Nlog. При этом стандартное журналирование "W3CLogging" будет отключено (вне независимости от значения параметра .
Протоколирование запросов с использованием NLog имеет ряд преимуществ перед журналированием W3CLogging. NLog предлагает больше параметров логирования (38 против 17),указывает в журнале местное время с точностью до миллисекунды, позволяет задать свои форматы для отображаемых данных и даёт гибкость в управлении файлами журнала.
"NLog": {
"extensions": [
{ "assembly": "DocsVision.AppServer" } (1)
],
"targets": {
"w3cFile": {
"type": "File",
"fileName": "${gdc:baseLogFolder}/docsvision/appserver/appserver-w3c-${date:format=yyyyMMdd}.${processId}.log",
"layout": {
"type": "W3CLoggingLayout",
"columns": [ (2)
{ "column": "date" },
{ "column": "time", "layout": "${longdate}" }, (3)
{ "column": "c-ip" },
]
}
}
},
"rules": [
{
"logger": "*",
"minLevel": "Debug",
"writeTo": "w3cFile"
}
]
}
| 1 | Обязательный параметр, если он не указан, NLog не будет записывать обычные сообщения в журнал. |
| 2 | Секция задаёт собственный набор колонок. Если список колонок не указан, в журнал будут включены только колонки по умолчанию date, time, c-ip, s-ip, cs-username, s-computername, cs-method, cs-uri-stem, cs-uri-query, sc-statuscode, sc-bytes, cs-bytes, time-taken, cs-host, cs(User-Agent). |
| 3 | Формат представления данных колонки может быть изменён. Если формат не указан, будут использоваться значения по умолчанию. В layout можно использовать любые переменные NLog, подробнее см. в документации NLog. |
Полный список колонок и допустимых значений для журналирования:
-
date— Дата начала обработки запроса. Значение по умолчанию:${date:format=yyyy-MM-dd}. -
time— Время начала обработки запроса. Значение по умолчанию:${date:format=HH:mm:ss.fff}. -
appserver-version— Версия Web-клиента. Например6.1.725+a4c9b271d7. Значение по умолчанию:${appserver-version}. Для протоколирования запросов сервера приложений аналогичная колонка называетсяappserver-version. -
c-ip— IP-адрес клиента. Значение по умолчанию:${aspnet-request-ip}. -
cs(Auth-Type)— Тип используемой аутентификации (например, Cookie). Значение по умолчанию:${aspnet-user-authtype}. -
cs(Certificate)— Сертификат клиента текущего запроса. Значение по умолчанию:${aspnet-request-client-certificate}. -
cs(Content-Type)— Тип контента:text/html,multipart/form-dataи т.д.. Значение по умолчанию:${aspnet-request-contenttype}. -
cs(Cookie)— Cookie, подробнее о допустимых параметрах в документации NLog. Значение по умолчанию:${aspnet-request-cookie}. -
cs(Referer)— Значение поляRefererиз заголовка запроса. Значение по умолчанию:${aspnet-request-referrer}. -
cs(User-Agent)— User agent. Значение по умолчанию:${aspnet-request-useragent}. -
cs-bytes— Получено байтов. Значение по умолчанию:${aspnet-request-contentlength}. -
cs-connectionid— Идентификатор соединения, см. в документации Microsoft. Значение по умолчанию:${aspnet-request-connection-id}. -
cs-form— Данные формы из запроса. Подробнее о параметрах в документации NLog. Значение по умолчанию:${aspnet-request-form}. -
cs-headers— Заголовок запроса. Если нужно взять только определенные заголовки, можно воспользоваться параметрами, подробнее см. в документации NLog. Значение по умолчанию:${aspnet-request-headers}. -
cs-host— ЗначениеHostиз заголовка запроса. Значение по умолчанию:${aspnet-request-url:includeScheme=false:includeHost=true:includePath=false}. -
cs-fullhostname— Полное имя хоста (с портом). Значение по умолчанию:${aspnet-request-host}. -
cs-isauthenticated— Состояние аутентификации (значения0или1). Значение по умолчанию:${aspnet-user-isAuthenticated}. -
cs-method— Метод (get/postи т.п.). Значение по умолчанию:${aspnet-request-method}. -
cs-mvc-action— Вызываемое действие. Значение по умолчанию:${aspnet-mvc-action}. -
cs-mvc-controller— Вызываемый контроллер. Значение по умолчанию:${aspnet-mvc-controller}. -
cs-posted-body— Значение по умолчанию${aspnet-request-posted-body}.Значения:-
1, если:-
Это запрос HTTP/1.x с ненулевым значением Content-Length или заголовком "Transfer-Encoding: chunked".
-
Это запрос HTTP/2, который не установил флаг END_STREAM на исходном фрейме заголовка.
-
-
0, если:-
Это запрос HTTP/1.x без заголовка Content-Length или "Transfer-Encoding: chunked", или Content-Length равен 0.
-
Это запрос HTTP/1.x с Connection: Upgrade (например, WebSockets). Для этих запросов не существует тела HTTP-запроса, и никакие данные не должны быть получены до тех пор, пока не будет выполнено обновление.
-
Это запрос HTTP/2, который устанавливает END_STREAM на начальном фрейме заголовка.
-
-
-
cs-tracking-consent— Согласие на отслеживание (значения0или1). Значение по умолчанию:${aspnet-request-tracking-consent}.Возможные параметры:-
property.Допустимые значения:-
CanTrack— Указывает, было ли дано согласие, или если согласие не требуется (1 или 0); -
HasConsent— было ли дано согласие; -
IsConsentNeeded— требуется ли согласие для данного запроса.
-
Пример вызова в собственном формате:
${aspnet-request-tracking-consent:property=CanTrack}. -
-
cs-uri-query— Значение по умолчанию:${aspnet-request-url:includeScheme=false:includeHost=false:includePath=false:includeQueryString=true}. Запрос URI. -
cs-uri-stem— Ресурс URI. Значение по умолчанию:${aspnet-request-url:includeScheme=false:includeHost=false}. -
cs-username— Имя пользователя. Значение по умолчанию:${aspnet-user-identity}. -
is-websocket— Является ли запрос запросом на установку WebSocket (0или1). Значение по умолчанию:${aspnet-request-is-web-socket}. -
s-basepath— ЗначениеContentRootPath. Значение по умолчанию:${aspnet-appbasepath}. -
s-computername--Имя сервера. Значение по умолчанию:${machinename}. -
s-environment— ЗначениеASPNETCORE_ENVIRONMENT. Значение по умолчанию:${aspnet-environment}. -
s-ip— IP-адрес сервера. Значение по умолчанию:${aspnet-request-local-ip}. -
s-port— Порт. Значение по умолчанию:${aspnet-request-local-port}. -
s-sitename— Имя сайта. Значение по умолчанию:${iis-site-name}. -
s-webrootpath—WebRootPath. Значение по умолчанию:${aspnet-webrootpath}. -
sc(Content-Type)— Тип контента ответа. Значение по умолчанию:${aspnet-response-contenttype}. -
sc-bytes— Отправлено байт. Значение по умолчанию:${aspnet-response-contentlength}. -
sc-response-has-started— Были ли отправлены заголовки ответа, т.е. начался ли уже ответ или нет. Значения0или1. Значение по умолчанию:${aspnet-response-has-started}. -
sc-status— Код статуса ответа (200,404и т.д.). Значение по умолчанию:${aspnet-response-statuscode}. -
time-taken— Сколько времени заняла обработка запроса (в миллисекундах). Значение по умолчанию:${aspnet-request-duration}.