我正在使用带有nlog.config
文件的nlog。
现在我有一个目标,可以将未处理的异常记录到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
复选框。只有选中它,我才想登录我的网络服务。
我的想法是使用自定义条件的规则过滤器。 nlog docs声明:
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;
}
但我没有找到关于如何在我的过滤器中定义此功能的任何参考。
答案 0 :(得分:0)
最终我把规则改为
<logger name="WebServiceLogger" minlevel="Fatal" writeTo="webservice" />
在我的代码中,我只是创建一个具有此名称的记录器。