Я работал над настройкой 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:
Я действительно понятия не имею, что происходит. Я не уверен, что из-за этого рендерера конфигурация становится недействительной. Я бился над ним большую часть дня и никуда не попал, поэтому надеюсь, что кто-то здесь может помочь.
Спасибо!