Nlog ничего не протоколирует, хотя в моем проекте есть следующие файлы:
NLog.config выглядит так:
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- make sure to set 'Copy To Output Directory' option for this file -->
<!-- go to http://nlog-project.org/wiki/Configuration_file for more information -->
<targets>
<target name="logfile" xsi:type="File"
fileName="${basedir}/log/${shortdate}.log" />
</targets>
<rules>
<!--
Trace
Debug
Info
Warn
Error
Fatal
-->
<logger name="*" minlevel="Debug" writeTo="logfile" />
</rules>
</nlog>
Следующий код должен вызывать сообщение в протоколе Debugmodus, но он ничего не делает.Я всегда получаю сообщение из Messagebox!Зачем?Конечно, я запускаю приложение в режиме отладки (любой процессор), а не в режиме выпуска
LogLevel level = LogLevel.Debug;
Logger _logger = LogManager.GetCurrentClassLogger();
_logger.IsEnabled(level);
if(!_logger.IsDebugEnabled && !_logger.IsErrorEnabled && !_logger.IsInfoEnabled) {
MessageBox.Show("Protocolation not activated!" + Environment.NewLine + "Abbruch");
}else
_logger.Debug("Protocol item has been written into logfile!");
Повторное редактирование: это app.config выглядит так:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>