Системе конфигурации NLog не удалось инициализировать - PullRequest
4 голосов
/ 11 октября 2011

Я новичок в Nlog. Поместите конфигурацию Nlog в файл app.config под разделом конфигурации и определите имя раздела в разделе конфигурации, но все равно я получаю эту ошибку "Системе конфигурации не удалось инициализироваться". Ниже приведено содержимое моего файла app.config.

<?xml version="1.0"?>
<configuration>
<configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
        <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>
    </sectionGroup>
</configSections>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/></startup>
  <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <targets>
      <target name="console" xsi:type="Console"
layout="${date:format=HH\:mm\:ss} ${level:uppercase=true} ${logger} &#xD;&#xA;${message} ${exception:format=message,type,stacktrace}"
                                                        />
    </targets>
    <rules>
      <logger name="*" minlevel="Debug" writeTo="console" />
    </rules>
  </nlog>
</configuration>

Я переместил nlog за пределы sectionGroup, поскольку он не является членом тега ApplicatinSettings. Извините, я виноват.

Ответы [ 2 ]

6 голосов
/ 11 октября 2011

Это не очень хороший ответ, но вы пытались включить внутреннее ведение журнала NLog?

Вы можете сделать это в файле конфигурации следующим образом:

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      internalLogLevel="Trace|Debug|Info|Warn|Error|Fatal"
      internalLogFile="NLogInternal.log"
      throwExceptions="true"
      autoReload="true">

      <!-- Rest of NLog config stuff goes here -->

</nlog>

Вы также можетепопробуйте использовать отдельный файл NLog.config и посмотрите, работает ли он.Одним из преимуществ этого подхода (с использованием NLog.config) является то, что если вы можете заставить его работать, вы должны иметь возможность просто скопировать содержимое NLog.config в app.config (если вы предпочитаете иметь конфигурацию NLogинформация в файле app.config, а не в файле NLog.config).

ДОБАВЛЕНО:

Что за странные символы в конфигурации NLog между ${logger} и ${message}?Могут ли они быть частью проблемы?

0 голосов
/ 17 января 2018

Я заработал, добавив следующие атрибуты к моему тегу NLog в файле Nlog.config:

throwExceptions = "false"

Я также включил следующий атрибутпроблема преобразования преобразования: xmlns: xdt = "http://schemas.microsoft.com/XML-Document-Transform"

...