Я работал над настройкой NLog v2 в моем приложении ASP.NET MVC 3, и до сих пор он работал очень хорошо. (Я использую пакет из официального репозитория nuGet) Однако, когда я пытаюсь изменить макет журнала, чтобы включить какой-либо из рендерингов aspnet- *, я получаю ошибку конфигурации. Я уменьшил проблему до следующего минимального варианта использования:
В блоке configSections:
<section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>
Блок Nlog:
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" throwExceptions="true">
<variable name="logDirectory" value="C:\Logs" />
<targets>
<target name="logFile" xsi:type="File" fileName="${logDirectory}\app.log"
layout="${aspnet-user-identity}" />
</targets>
<rules>
<logger name="*" minlevel="Info" writeTo="logfile" />
</rules>
Если я изменяю макет, используйте любую комбинацию рендерингов, которые не являются частью семейства aspnet *, это хорошо работает (я не тестировал каждый, но я смотрел довольно много). Ошибка, которую я получаю:
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: An error occurred creating the configuration section handler for nlog: Exception occurred when loading configuration from C:\..[snip]..\web.config
Source Error:
Line 16: </configSections>
Line 17:
Line 18: <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
Line 19: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" throwExceptions="true">
Line 20:
Я понятия не имею, что происходит. Я не уверен, что относительно этого средства визуализации приводит к тому, что конфигурация становится недействительной. Я очень долго бился в ней и никуда не уходил, поэтому я надеюсь, что кто-то здесь может помочь.
Спасибо!