企业库日志应用程序模块工作原理图:

从上图我们可以看清楚企业库日志应用程序模块的工作原理,其中LogFilter,Trace Source,Trace Listener,Log Formatter的信息都可以在Category配置文件中反映出来,通过配置文件,调用LogWriter类的Writer方法,就可以将包含日志信息的LogEntry实体写入Category配置文件中指定的设备了.

企业库日记应用程序模块提供了下列几种记录方法:

· The event log

· An e-mail message

· A database

· A message queue

· A text file

· A Windows®Management Instrumentation (WMI) event

· Custom locationsusing application block extension points

本文介绍一下如何使用企业库日记应用程序模块向日志文件,数据库,XML文件中写入程序操作日记:

一.  向日志文件写入日记

1. 运行EntLibConfig.exe,选择Blocks菜单 ,单击 Add LoggingSettings .

  2.       对每个模块进行配置:

  3.点击 File 菜单,单击 Save,保存为一个App.config文件,可以先保存到桌面,之后要用到它.

  4.创建一个新的控制台应用程序,将App.config添加到程序内,并加入需要的Dll文件,在此我们要导入的是Microsoft.Practices.EnterpriseLibrary. Logging.dll, Microsoft.Practices.EnterpriseLibrary. Logging.Database.dll并添加需要的引用:

  添加引用:

using Microsoft.Practices.EnterpriseLibrary. Logging;

5测试:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Practices.EnterpriseLibrary.Logging;
namespace ConsoleApplication1
{
class Program
    {
static void Main(string[] args)
        {
            LogEntry logEntry = new LogEntry();
            logEntry.EventId = 1;
            logEntry.Priority = 1;
            logEntry.Title = "标题党";
            logEntry.Message = "http://www.cnblogs.com/huangcong/";
            logEntry.Categories.Add("C#学习");
            logEntry.Categories.Add("Microsoft Enterprise Library学习");
            Logger.Writer.Write(logEntry, "General");
            Console.WriteLine("日志写入完成!");
        }
    }
}

运行结果:

6. 开始—控制面板—系统和安全—查看事件日志—Windows日志—应用程序:

7.       第一个日志就是我们刚刚写入的日志啦,双击可以查看内容:

二.   向数据库写入日记

1.       要将日志写入数据库,就得先新建一个日志数据库,我们可以在EntLib50Src文件夹下的Source\Blocks\Logging\Src\DatabaseTraceListener\Scripts目录中找到LoggingDatabase.sql文件,只要在数据库中运行即可自动生成一个日志数据库:

为了方便大家,我直接将该文件发布在下面,大家直接复制到SQL中运行也可以:

Logging数据库创建SQL

2.       点击Logging Target Listeners 区块右上角的加号按钮, Add Logging Target Listeners然后点击 Add Database Listeners ,属性设置如下:

3. File—Save,保存App.config,无需改动VS中的程序直接再次运行,运行结果如下:

4.       查看Logging数据库,可以看到刚刚写入的日志:

SELECT * FROM [Logging].[dbo].[Category]
GO
SELECT * FROM [Logging].[dbo].[Log]
GO

三.  向XML文件写入日记

1.    创建一个XML文件,我建在上面创建好的工程目录下,命名为test.xml, 点击Logging Target Listeners 区块右上角的加号按钮,Add Logging Target Listeners然后点击 Add XML Listeners ,属性设置如下:

2.       File—Save,保存App.config,无需改动VS中的程序直接再次运行,运行结果如下:

3.       打开test.xml文件,内容如图所示:

Microsoft Enterprise Library 5.0 系列(四)的更多相关文章

  1. 黄聪:Microsoft Enterprise Library 5.0 系列教程(四) Logging Application Block

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(四) Logging Application Block 企业库日志应用程序模块工作原理图:   从上图我们可以 ...

  2. Microsoft Enterprise Library 5.0 系列教程(四) Logging Application Block

    Download dll: http://www.microsoft.com/en-us/download/confirmation.aspx?id=15104 http://www.cnblogs. ...

  3. 黄聪:Microsoft Enterprise Library 5.0 系列教程(七) Exception Handling Application Block

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(七) Exception Handling Application Block 使用企业库异常处理应用程序模块的 ...

  4. 黄聪:Microsoft Enterprise Library 5.0 系列教程(六) Security Application Block

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(六) Security Application Block 开发人员经常编写需要安全功能的应用程序.这些应用程序 ...

  5. 黄聪:Microsoft Enterprise Library 5.0 系列教程(五) Data Access Application Block

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(五) Data Access Application Block 企业库数据库访问模块通过抽象工厂模式,允许用户 ...

  6. 黄聪:Microsoft Enterprise Library 5.0 系列教程(三) Validation Application Block (高级)

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(三) Validation Application Block (高级) 企业库验证应用程序模块之配置文件模式: ...

  7. 黄聪:Microsoft Enterprise Library 5.0 系列教程(三) Validation Application Block (初级)

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(三) Validation Application Block (初级) 企业库提供了一个很强大的验证应用程序模 ...

  8. 黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级)

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级) 本章介绍的是企业库加密应用程序模块 ...

  9. 黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (初级)

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (初级) 企业库加密应用程序模块提供了2种方 ...

随机推荐

  1. 最新国内外可用SVN托管仓库有哪些

    最新国内外可用SVN托管仓库哪些 一.总结 一句话总结:用SVNBucket和SourceForge 二.最新国内外可用SVN托管仓库推荐 这几年很多SVN托管平台都基本不维护或者直接关闭了,我翻遍了 ...

  2. apt-get install安装软件时出现依赖错误解决方式

    在使用apt-get install安装软件时,常常会遇到如上图所看到的错误.该错误的意思为缺少依赖软件.解决方式为: aptitude install golang-go

  3. STS开发环境搭建与配置

    STS开发环境搭建与配置 (2012-04-11 07:24:51) 转载▼ 1.   环境准备 安装JDK.MAVEN 1.1.        下载 下载sprdfingsource-tool-su ...

  4. ets学习

    http://diaocow.iteye.com/blog/1768647 http://www.cnblogs.com/me-sa/archive/2011/08/11/erlang0007.htm ...

  5. 窗体背景的绘制(Windows窗体每次都会重绘其窗体背景,所以我们可以通过拦截窗体重绘背景的消息(WM_ERASEBKGND),并自定义方法来实现重绘窗体背景)

    核心思想:由于Windows窗体每次都会重绘其窗体背景,所以我们可以通过拦截窗体重绘背景的消息(WM_ERASEBKGND),并自定义方法来实现重绘窗体背景.通过TImage组件也可以实现,但是重写W ...

  6. (ubuntu 下)tensorflow 的安装及版本升级

    对于 CPU 版本 pip3 install –upgrade tensorflow 对于 GPU 版本: pip3 install –upgrade tensorflow-gpu [TensorFl ...

  7. 解析字典包含关键字比如ID,description等,MJExtension 框架 不能直接设置变量与其同名。

    @property (nonatomic,strong) NSString *descrip;  //设置变量名 _DataReceived=(NSMutableArray *)[HZnewsmess ...

  8. 【BZOJ 1037】[ZJOI2008]生日聚会Party

    [题目链接]:http://www.lydsy.com/JudgeOnline/problem.php?id=1037 [题意] [题解] /* 设f[i][j][k][l] 表示前i个人中,有j个男 ...

  9. Python 第三方库的安装

    1. pip 进入命令行,使用 pip install pip install numpy 2. 含有 setup.py 文件的第三方库 切换到 setup.py 所在的目录: python setu ...

  10. matlab 中使用 GPU 加速运算

    为了提高大规模数据处理的能力,matlab 的 GPU 并行计算,本质上是在 cuda 的基础上开发的 wrapper,也就是说 matlab 目前只支持 NVIDIA 的显卡. 1. GPU 硬件支 ...