如何为WCF工作流服务配置Log4net

时间:2016-02-26 16:52:33

标签: wcf workflow log4net workflow-foundation-4 xamlx

我有一个非常简单的 WCF工作流服务项目,其中只有1个xamlx。 XAMLX也很简单,有一个接收接收活动,然后调用另一个xaml工作流。

这是xamlx服务:

enter image description here

我的问题是如何在我的xamlx服务中配置Log4net,以便后续工作流生成的所有未处理错误都可以记录到事件日志中?

2 个答案:

答案 0 :(得分:0)

您可能需要查看Workflow Tracking and Tracing。主要是如何创建自己的TrackingParticipant,其中有几个TrackingRecords可用于记录。您甚至可以创建自己的CustomTrackingRecord来自定义活动。

实际上,您已经可以使用EtwTrackingParticipant来完成您想要的工作,而不使用log4net。您可以在here上看到如何配置它并在事件查看器上访问它的事件数据。

答案 1 :(得分:-2)

因为我找不到任何自动记录所有未处理错误的方法。我通过添加Try / Catch活动并添加一些代码活动来记录错误,从而解决了我的问题。

要配置Logger,我将此dta %>% group_by(hserial) %>% mutate(children = if(all(children == "Not eligible")) NA_character_ else setdiff(children, "Not eligible")) #Source: local data frame [10 x 4] #Groups: hserial [5] # # hserial sex age children # (dbl) (fctr) (dbl) (chr) #1 1001041 Male 30 Yes #2 1001041 Female 32 Yes #3 1001061 Male 22 No #4 1001061 Female 21 No #5 1001091 Male 38 Yes #6 1001091 Female 37 Yes #7 1001151 Male 31 No #8 1001151 Female 27 No #9 1001161 Male 33 Yes #10 1001161 Female 35 Yes 添加到a​​ssembly.cs,然后创建了2个代码活动。

获得记录器:

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

第二个记录错误:

  ILog logger = LogManager.GetLogger("LogName");
  return logger;

我更新的xamlx如下所示:

enter image description here

如果有人有其他更好的选择,请告诉我。感谢