Журналы системы
В системе 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}
.