[英]Disabling / Enabling nlog rules at runtime
我将nlog与nlog.config
文件一起使用。
现在,我有一个目标,将未处理的异常记录到Web服务
<target xsi:type="WebService" name="webservice"
url="http://server.tld/services/errorreporting/"
methodName=""
namespace=""
protocol="HttpPost"
>
....
</target>
和一条规则:
<logger name="*" minlevel="Fatal" writeTo="webservice" />
现在,我将不允许用户决定是否要使用此功能。 该应用程序是一个winforms应用程序,用户会看到一个对话框,其中包含未处理的异常。 现在,我想添加一个errorreporting
复选框。 只有选中它,我才想登录到我的Web服务。
我的想法是对具有自定义条件的规则使用过滤器。 Nlog文档声称:
New condition functions are easy to add; just create an ordinary function and mark it with the [ConditionMethod] attribute.
所以我可以写一个函数
public static bool ErrorReportingEnabled()
{
return Properties.Settings.Default.ErrorReportingEnabled;
}
但我在过滤器中找不到有关如何定义此功能的任何参考。
最终我将规则更改为
<logger name="WebServiceLogger" minlevel="Fatal" writeTo="webservice" />
在我的代码中,我只是使用此名称创建了一个记录器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.