日志和规范应用程序块简介
Enterprise Library Logging and Instrumentation Application Block 1.0 版使开发人员可以在其应用程序中集成标准的日志和规范功能。应用程序可以使用日志和规范块在多个位置记录事件:
•事件日志
•电子邮件
•数据库
•消息队列
•文件
•WMI
日志和规范应用程序块在多个方面有助于应用程序的开发:
•它有助于在应用程序和整个企业中维护一致的日志和规范做法。
•它使用一致的体系结构模型,使开发人员在学习过程中少走一些弯路。
•它提供了可用于解决常见的应用程序日志和规范问题的实现。
•它是可扩展的,并支持格式化程序和事件接收器的自定义实现。
常见情况
开发人员经常编写需要日志和规范功能的应用程序。通常,这些应用程序必须适当地格式化事件和记录事件,不论是在本地还是通过网络。在某些情况下,您可能需要对一台计算机上来自多个源的事件进行整理。
日志和规范应用程序块通过收集应用程序需要包含的多个最常见的日志和规范任务来简化应用程序的开发。每个任务都以一致的方式处理,并从特定的日志和规范提供程序中抽象应用程序代码。体系结构模型可让您通过更改配置来更改基础事件接收器和格式化程序,而无需更改应用程序代码。
读者要求
该应用程序块专为软件架构师和软件开发人员而设计。要充分利用该指导,您应该了解以下技术:
•Microsoft Visual C# 开发工具或 Microsoft Visual Basic 开发系统
•.NET Framework(包括对日志和规范概念的理解)
1.0
版的主要特点
日志和规范应用程序块是在两个早期应用程序块(日志应用程序块和异常管理应用程序块)功能的基础上构建的。该版本的日志和规范应用程序块包含了大量早期应用程序块所没有的功能:
•无需企业规范框架 (EIF) 即可记录
•支持电子邮件事件接收器
•支持数据库事件接收器,而不是特定的 SQL Server 事件接收器
•通过企业程序库配置控制台配置格式化程序
从日志应用程序块迁移
日志应用程序块的用户应该了解日志和规范应用程序块针对的多种情况。虽然当前版本是基于从早期版本获得的知识和反馈而构建的,但它在如何解决那些情况方面有了重大改变。
企业程序库版本的日志和规范应用程序块与日志应用程序块的主要区别包括以下几点:
•它不再依赖于企业规范框架 (EIF)。
•它使用企业程序库配置控制台中定义的格式化程序,而不是创建特定的 XSLT 文件。
•它不再提供跟踪日志事件接收器。
•它不再支持连在一起的多个格式化程序。相反,所有的格式化信息都包含在一个格式化程序中。
•它不再提供加密格式化程序。
系统要求
要使用日志和规范应用程序块,您需要以下各项:
•Microsoft Windows 2000、Windows XP Professional 或 Windows Server 2003 操作系统
•Microsoft .NET Framework 1.1 版
•Microsoft Visual Studio .NET 2003 Enterprise Architect、Enterprise Developer 或 .NET Professional 版
•用于维护日志消息的存储(具体要求取决于您使用的特定事件接收器)
日志和规范应用程序块的依赖项
企业程序库应用程序块设计为能够彼此配合使用。在某些情况下,应用程序块依赖于其他应用程序块和企业程序库中包含的代码。日志和规范应用程序块具有以下依赖项:
•
配置应用程序块。日志和规范应用程序块使用它来读取其配置信息。
•
通用程序库功能,例如规范。它提供了各种功能来公开用于系统管理的事件和数据。
根据您向日志和规范应用程序块要求的特定功能,您可能还需要数据访问应用程序块,日志和规范应用程序块将它用于数据库事件接收器。
该应用程序块使用 XML 文件来存储配置信息。修改该信息的推荐方法是使用企业程序库配置控制台。
日志和规范应用程序块的设计
日志和规范应用程序块旨在实现以下目标:
•确保使用该应用程序块的代码清晰而直观。
•提供简单而直观的对象模型。
•封装用于执行最常见的应用程序日志和规范任务的逻辑。
•为常见的日志和规范任务提供标准、一致的模型。
•最大程度地减少与日志和规范有关的自定义代码。
•确保应用程序块简单且可配置性高。
•确保应用程序块是可扩展的。
•确保性能影响最小或可忽略不计(与人工编写的用于实现同一功能的日志代码相比)。
设计要点
图 1 展示了日志和规范应用程序块的设计
图 1. 日志和规范应用程序块的设计
日志和规范应用程序块设计为能够具体化有关如何从运行的应用程序处理事件的所有决策。这种设计使您可以在不更改应用程序代码的情况下更改日志行为。
测试驱动
开发日志和规范应用程序块的目的是,分析常见的企业开发难题以及提供针对这些难题的成功解决方案。然而,因为每个应用程序都是唯一的,所以您会发现该应用程序块并不适合每个应用程序。为了评估该应用程序块并确定它对您项目的适用性,Microsoft 建议您至少用半天的时间来研究该应用程序块。推荐的评估方法如下:
1.下载企业程序库。
2.安装企业程序库,并编译所有的应用程序块和工具。
3.阅读文档的“Introduction”和“Scenarios and Goals”部分。
4.编译并运行快速入门示例,然后通读文档中相关的“QuickStart Walkthroughs”和“Key Scenarios”部分。
5.如果应用程序块看起来很适合您的应用程序,则尝试使用该应用程序块在您的应用程序或丢弃原型 (throw-away prototype) 应用程序中实现一个简单的用例。