Enterprise Library Step By Step系列(八) 日志和监测应用程序块

写在前面:最近一段时间项目比较紧,所以这篇随笔出来的晚一些。今天写的是在日志里面包含名-值对的字典,跟踪活动并记录上下文信息,过滤事件,定制日志消息的格式,自定义Sink,自定义Formatter等。

一.在日志里面包含名-值对的字典:

在日志消息里面,我们可以包含名-值对这样的字典。这时首先需要创建一个Hashtable,通过Key-Value的方式把要记录的内容传入。示例代码如下:

1/**////创建一个日志项
2      LogEntry log = new LogEntry();
3
4      /**////创建名-值对
5      Hashtable logtable = new Hashtable();
6      logtable["key1"] = "value1";
7      logtable["key2"] = "value2";
8      logtable["key3"] = "value3";
9
10      log.Message = this.txt_LogMessage.Text;
11      log.Category = Category.General;
12      log.Priority = Priority.Normal;
13
14      /**////写入日志
15      Logger.Write(log,logtable);

输出后的文本:在这里我们用了Text Formatter


二.跟踪活动并记录上下文信息:

跟踪应用系统的活动是一项常见的功能,我们需要把活动的起始时间和结束时间以及活动的其他的信息记录下来。日志和监测应用程序块支持通过活动ID来跟踪一项活动,活动ID可以在代码中指定,也可以通过程序块来自动生成,程序块自动记录活动的起始时间和结束时间。活动跟踪由Tracer类来提供。示例代码如下:

1using(new Tracer("UI Events"))
2      {
3        Logger.Write("Troubleshooting message");
4      }

输出后的文本:同样我们用了Text Formatter

时间: 2024-09-30 09:43:41

Enterprise Library Step By Step系列(八) 日志和监测应用程序块的相关文章

Enterprise Library Step By Step系列(七) 日志和监测应用程序块

写在前面:最近一段时间项目周期比较紧,所以这篇随笔出来的比较晚,希望喜欢本系列随笔的朋友谅解.上篇随笔写的也比较简单,我会抽时间补上的,先向大家道个歉^_^ 一.日志和检测应用程序块概述: Enterprise Library Logging and Instrumentation Application Block版使开发人员可以在其应用程序中集成标准的日志和监测功能.应用程序可以使用日志和监测块在多个位置记录事件: 1.事件日志(Event Log) 2.电子邮件(Email) 3.数据库(

Enterprise Library Step By Step系列(十四)

Enterprise Library Step By Step系列(十四):创建基于消息队列(MSMQ)的异步日志 一.概述 在Enterprise Library Step By Step系列里我们说过,日志和检测应用程序块主要由2部分组成:Client和Distributor.Client负责创建消息,这些消息将由Distributor写入目标位置.Client根据分发策略(Distribution Strategies)发送消息到Distributor,在Application Block

Enterprise Library Step By Step系列(十二)异常处理应用程序块

一.把异常信息Logging到数据库 在日志和监测应用程序块中,有朋友提意见说希望能够把异常信息Logging到数据库中,在这里介绍一下具体的实现方法. 1.创建相关的数据库环境: 我们可以用日志和监测应用程序块自带的SQL语句来创建相关的数据库环境: 创建数据库: CREATE DATABASE [Logging] ON (NAME = N'Logging', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL\data\Loggi

Enterprise Library 4 缓存快速入门

快速入门使用了一个顶层的处理程序来捕获任何场景中的任何异常.处理程序显示了一个带有异常信息的对话框. 快速入门在构建和运行应用程序之前不需要执行任何安装步骤.[注意:默认的快速入门配置不使用持久后端存储.] 快速入门提供两个版本.第一个版本使用工厂创建Enterprise Library 对象,例如使用CacheFactory.GetCacheManager 方法创建CacheManager 实例, 以及使用new操作符创建ProductData 实例. 第二个版本演示了集成Unity 应用程序

Enterprise Library Step By Step系列(一) 配置应用程序块

写在前面: 最近准备写Enterprise Library Step By Step的系列文章,对于每一个应用程序块,我都会用入门篇,进阶篇,剖析篇三篇文章去写. 在入门篇里会详细介绍应用程序块的使用步骤,主要是针对新手入门的:进阶篇会介绍一些应用程序块的更深的应用及扩展机制:剖析篇会去分析应用程序块的底层设计和类设计的一些内容.所有的观点都纯属个人理解,有不当之处请大家多多指教. 一.配置应用程序块概述: 几乎每一个应用程序都需要一些配置信息,这些信息可以是简单的数据库连接信息,或者复杂的多块

Enterprise Library Step By Step系列(九) 缓冲应用程序块

写在前面:企业库Step By Step系列的随笔今天已经是第九篇了,期间得到了很多朋友的支持,他们认为给初学者提供了很好的资料,在这里表示衷心的感谢.也有朋友反映说关于企业库使用的文章网上已经有了很多,希望我能写一些企业库类设计的文章,我也非常感谢这些朋友提出的建议.我写本系列随笔时就是立足于初学者,帮助初学者,希望能够给他们一些帮助.所以本系列随笔我还会继续下去,写完入门篇和进阶篇后,我会写类设计篇,最后我计划再写一篇总结篇的随笔,作为对企业库的一个总结,最后再次谢谢大家的关注和支持. 一.

Enterprise Library Step By Step系列(十六) 使用AppSetting Application B

概述 AppSetting Application Block并不是企业库里面的一个应用程序块.它可以使我们运用企业库的配置工具来管理类似于appSetting这样的配置文件中的标记,像我们经常用到的数据库连接字符串. 安装 1.在.NET环境下编译AppSetting解决方案: 2.拷贝如下两个DLL到Enterprise Library \bin 目录下 下载地址:/upimg/soft/1101/4-11012Q13330.rar Kokuti.EnterpriseLibrary.AppS

Enterprise Library Step By Step系列(十三) 加密应用程序块

一.概述:Enterprise Library Cryptography Application Block简化了开发人员在其应用程序中集成加密功能的方式.应用程序可以使用应用程序块来执行各种任务,例如加密信息.从数据创建哈希,以及比较哈希值来检验数据是否被更改.加密应用程序块具有以下功能: 它可以减少编写样本代码来执行标准任务的需要,从而提供了可用于解决常见应用程序加密问题的实现. 它有助于维护应用程序和整个企业中一致的加密做法. 利用涵盖提供的各种功能区域且一致的体系结构模型,从而使开发人员

Enterprise Library Step By Step系列(五) 安全应用程序块

一.安全应用程序块概述: 安全应用程序块通过一个或多个安全机制,帮助开发人员在应用程序中实现通用的安全相关任务. 需要提高扩展性,以便在不改变应用程序代码的情况下更改认证或授权方式. 提供了以下几个方面的功能: 1.认证 2.授权 3.角色管理 4.Profile管理 二.几个重要的概念: 1.Credential(令牌) 2.Identity(身份) 3.Principal(主体特征) 三.使用三部曲: 在进行使用前请确保项目中有App.config或Web.config文件,并且需要数据库中