Настройка журналирования

События Web-клиента протоколируются с помощью компонента NLog (http://nlog-project.org).

Для каждой используемой БД в режиме мультитенантности ведётся свой журнал, например: WebClient_DataBaseName_ГГГГ-ММ-ДД.
Если параметры отсутствуют в конфигурационном файле, создайте их самостоятельно.

Расширенные настройки журналирования осуществляются в конфигурационном файле Web-клиента.

  1. Откройте конфигурационный файл /usr/lib/docsvision/webclient/appsettings.json.

  2. Измените параметры журналирования в параметрах targets и rules.

     "NLog": {
         "throwConfigExceptions": false,
         "extensions": [
             { "assembly": "NLog.Extensions.Logging" },
             { "assembly": "NLog.Web.AspNetCore" }
         ],
         "targets": {
             "async": true,
             "logFile": {
                 "type": "File",
                 "fileName": "${basedir}/../Logs/WebClient${event-properties:item=Tenant} PID ${processId} ${shortdate}.log", (1)
                 "layout": "[${longdate}][${level}][${callsite}] ${message} ${onexception:${newline}${exception:maxInnerExceptionLevel=10:format=shortType,message,stacktrace:separator=*:innerExceptionSeparator=
	}}"
             },
             "logConsole": {
                 "type": "Console"
             }
         },
         "rules": [ (2)
             {
                 "logger": "Microsoft.*",
                 "maxLevel": "Info",
                 "final": true
             },
             {
                 "logger": "*",
                 "minLevel": "Error",
                 "writeTo": "logFile" (3)
             },
             {
                 "logger": "*",
                 "minLevel": "Trace",
                 "writeTo": "logConsole" (4)
             }
         ]
     }
    1 Измените значение параметра fileName, чтобы настроить путь для сохранения журнала работы:
    В fileName можно использовать допустимые для NLog переменные, например: \Logs\${level}\WebClient_${shortdate}.log.
    2 Измените значение параметров minLevel и maxLevel, например, на trace, чтобы включить протоколирование всех типов событий.
    Допустимые уровни протоколирования приведены на странице NLog в GitHub.
    Для получения дополнительной информации о других настройках NLog обратитесь к документации по данной платформе.
    3 Настройки журнала Web-клиента.
    4 Настройки журнала Панель управления Web-клиентом.
  3. Сохраните изменения конфигурационного файла.

    Уровень журналирования может быть изменён методом /api/Log/SetLogLevel, если пользователь, который вызывает метод, состоит в группе DocsVision Administrators. Методом можно задать следующие уровни: Trace = 0, Debug = 1, Info = 2, Warn = 3, Error = 4 (любое другое значение будет распознано как Error).

    После перезапуска dvwebclient уровень журналирования будет возвращён в исходное состояние в соответствии с конфигурационным файлом.