0

我正在对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 文档声称:

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;
}

但我没有找到关于如何在我的过滤器中定义这个函数的任何参考。

4

1 回答 1

0

最终,我只是将规则更改为

<logger name="WebServiceLogger" minlevel="Fatal" writeTo="webservice" />

在我的代码中,我只是创建了一个具有此名称的记录器。

于 2014-10-15T06:58:24.187 回答