2015-12-29 2 views
0

Я использую NLog 4.2.2.Использование переменных для факторизации общих макетов NLog

Есть ли способ факторизации макетов, общих для нескольких целей, возможно, с переменными?

Я попытался это:

<variable name="messageLayout" value="${longdate:universalTime=True}Z..."/> 

<target name="console" xsi:type="ColoredConsole" layout="${messageLayout}"/> 

<target name="messagesLogFile" xsi:type="File" layout="${messageLayout}"/> 

К сожалению, это вызывает следующее исключение при запуске: документация

An unhandled exception of type 'System.TypeInitializationException' occurred in Microsoft.VisualStudio.HostingProcess.Utilities.dll 

NLog является очень скудна, когда речь идет о переменных. Любая подсказка?

+0

Можете ли вы опубликовать весь раздел/файл конфигурации NLog? –

+0

@ АнтонГоголев Конечно, здесь мы идем: https://gist.github.com/dictoon/2c91ca9553baebe2df8b –

+0

Вы должны это сделать. Я сделал это раньше и его показано здесь http://stackoverflow.com/questions/4091606/most-useful-nlog-configurations Я попытался бы упростить вашу конфигурацию одним из основных примеров, представленных в этом сообщении, и добавить обратно в ваши части медленно. Возможно, в вашей конфигурации может быть что-то еще, что выложили эту ошибку (ее очень общий NLog не смог настроить ваш регистратор, сообщение). Не рядом с моим компьютером-разработчиком прямо сейчас, поэтому я не могу на самом деле попробовать вашу конфигурацию :( –

ответ

0

As found out by a NLog contributor, это была ошибка на моей стороне: переменные не могут быть объявлены внутри блока <target>...</target>. Перемещение объявления переменной перед целевым блоком устраняет проблему.

Смежные вопросы