将信息写入事件日志

可能需要通过将信息写入默认应用程序日志或自定义事件日志来监视 BizTalk 应用程序中不同业务流程的进度。 在以下情况下,写入事件日志可能很有用:

  • 你想要使用 Windows 提供的工具以标准方式访问应用程序消息。

  • 你想要将来自服务器环境的其他消息存档信息,以获取更完整的历史记录。

  • 你希望能够使用与事件日志交互的工具监视应用程序。

注释

System.Diagnostics.EventLog.WriteEntry 方法对消息字符串有大小限制。 如果消息字符串超过 32766 字节,则会收到异常。

写入应用程序日志

您可以使用 System.Diagnostics.EventLog 从代码中写入到应用程序日志或任何其他日志,如下所示:

System.Diagnostics.EventLog.WriteEntry("Orchestration Debug", System.String.Format("The Value = {0}", iResult));  

类似,你也可以这样做,

EventLog appLog = new EventLog();   
appLog.Source = "This Application's Name";  
appLog.WriteEntry("An entry to the Application event log.");  

如果使用自定义日志,则应使用 SourceExists 方法来确保它在写入之前存在。

写入自定义日志

写入自定义日志类似于写入应用程序日志,但必须首先创建自定义日志。 创建自定义日志的代码非常简单:

// Create the source, if it does not already exist. if(!EventLog.SourceExists("MySource"))   
{   
  //An event log source should not be created and immediately used.  
  //There is a latency time to enable the source, it should be created  
  //prior to executing the application that uses the source.  
  EventLog.CreateEventSource("MySource", "MyNewLog");  
}  

但是,不应假定代码将在具有创建新事件日志安全权限的帐户下运行。 创建事件日志需要管理员权限,应在单独的实用工具程序中完成,或者理想情况下,作为 .msi 安装的一部分。 有关将自定义脚本与导出的 .msi 安装配合使用的详细信息,请参阅 使用预处理和后处理脚本自定义应用程序部署