我有一个非常简单的 WCF工作流服务项目,其中只有1个xamlx。 XAMLX也很简单,有一个接收接收活动,然后调用另一个xaml工作流。
这是xamlx服务:
我的问题是如何在我的xamlx服务中配置Log4net,以便后续工作流生成的所有未处理错误都可以记录到事件日志中?
答案 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
添加到assembly.cs,然后创建了2个代码活动。
获得记录器:
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
第二个记录错误:
ILog logger = LogManager.GetLogger("LogName");
return logger;
我更新的xamlx如下所示:
如果有人有其他更好的选择,请告诉我。感谢