2016-04-27 168 views
1

我有原来的配置:如何在运行时更改NLog规则目标?

<rules> 
    <logger name="Logger" minlevel="Trace" writeTo="FileLog,syslog" /> 
</rules> 

这将打印到文件以及发送给服务器。

我希望在运行时改变目标,有时改为FileLog,有时改为syslog,有时改为两者。 有没有可编程的方式?

+0

我想写出像''DisableAllSyslogTargets''EnableAllTargets'方法EnableOnlySyslogTargets' – Mike

回答

0

两个选项:启用自动重新配置(<nlog autoreload="true")并更改配置文件。

或以编程方式:

//edit logging rules 
LogManager.Configuration.LoggingRules[0].Targets.RemoveAt(1); 
//update to all Loggers 
LogManager.ReconfigExistingLoggers();