Одной из основных функций NLog является то, что вы можете изменить конфигурацию во время работы приложения.
Если у вас есть nlog.config, вы можете включить автозагрузку:
<nlog autoReload="true">
...
</nlog>
Затем конфигурация будет перезагружена при сохранении изменений в файле.
Пример
Например:
В конфигурации вы можете изменить globalThreshold
или <rules>
во время бега.
<?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"
autoReload="true"
globalThreshold="Debug" >
<!-- the targets to write to -->
<targets>
<!-- write logs to file -->
<target xsi:type="File" name="file1" fileName="c:\temp\nlog-all-${shortdate}.log"
layout="${longdate}|${event-properties:item=EventId_Id}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}" />
</targets>
<!-- rules to map from logger name to target -->
<rules>
<logger name="*" minlevel="Trace" writeTo="file1" />
</rules>
</nlog>
Из кода
Вы также можете изменить конфигурацию из кода, затем отметьте LogManager.Configuration
. Обратите внимание, что это свойство равно null
, если у вас еще нет конфигурации (из кода или nlog.config).