-1

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

这是 xamlx 服务:

在此处输入图像描述

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

4

2 回答 2

0

您可能想看看Workflow Tracking and Tracing。主要是关于如何创建您自己的TrackingParticipant,您可以在其中记录多个TrackingRecords。您甚至可以创建自己的CustomTrackingRecord以由您的自定义活动发出。

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

于 2016-02-27T00:25:55.543 回答
-2

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

为了配置 Logger,我将它添加[assembly: log4net.Config.XmlConfigurator(Watch = true)]到了 assembly.cs,然后创建了 2 个代码活动。

一个获取记录器:

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

其次记录错误:

  logger.Get(context).Error(ex.Get(context));

我更新的 xamlx 如下所示:

在此处输入图像描述

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

于 2016-02-26T21:00:05.483 回答