阅读: 25 评论: 0 作者: huangcong 发表于 2010-06-01 12:07 原文链接
<[if !mso]> <[endif]><[if gte mso 9]> HC HC 2 341 2010-05-31T15:18:00Z 2010-05-31T15:18:00Z 23 1418 8083 SkyUN.Org 67 18 9483 12.00
企业库日志应用程序模块工作原理图:
<[if gte mso 9]> false 5.25 磅 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 <[if gte mso 9]> <[if gte mso 10]> <[endif]><[if gte mso 9]> <[if gte mso 9]>
<[if gte vml 1]> <[if !vml]><[endif]>
从上图我们可以看清楚企业库日志应用程序模块的工作原理,妻子Log Filter,Trace Source,Trace Listener,Log Formatter的信息都可以在Category配置文件中反映出来,通过配置文件,调用LogWriter类的Writer方法,就可以将包含日志信息的LogEntry实体写入Category配置文件中指定的设备了.
企业库日记应用程序模块提供了下列几种记录方法:
本文介绍一下如何使用企业库日记应用程序模块向日志文件,数据库,XML文件中写入程序操作日记:
<[if !supportLists]>一. <[endif]>向日志文件写入日记
<[if !supportLists]>1. <[endif]>运行EntLibConfig.exe, 选择Blocks菜单 ,单击 Add Logging Settings .
<[if gte vml 1]> <[if !vml]><[endif]>
<[if !supportLists]>2. <[endif]>对每个模块进行配置:
<[if gte vml 1]> <[if !vml]><[endif]>
<[if !supportLists]>3. <[endif]>点击 File 菜单,单击 Save,保存为一个App.config文件,可以先保存到桌面,之后要用到它.
<[if !supportLists]>4. <[endif]>创建一个新的控制台应用程序,将App.config添加到程序内,并加入需要的Dll文件,在此我们要导入的是 Microsoft.Practices.EnterpriseLibrary. Logging.dll, Microsoft.Practices.EnterpriseLibrary. Logging.Database.dll并添加需要的引用:
<[endif]>
添加引用:
<
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
> using Microsoft.Practices.EnterpriseLibrary. Logging;
<[if !supportLists]>5. <[endif]>测试:
<
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
> 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("日志写入完成!");
}
}
}
运行结果:
<[endif]>
<[if !supportLists]>6. <[endif]>开始—控制面板—系统和安全—查看事件日志—Windows日志—应用程序:
<[endif]>
<[if !supportLists]>7. <[endif]>第一个日志就是我们刚刚写入的日志啦,双击可以查看内容:
<[endif]>
<[if !supportLists]>二. <[endif]> 向数据库写入日记
<[if !supportLists]>1. <[endif]>要将日志写入数据库,就得先新建一个日志数据库,我们可以在EntLib50Src文件夹下的Source\Blocks\Logging\Src\DatabaseTraceListener\Scripts目录中找到LoggingDatabase.sql文件,只要在数据库中运行即可自动生成一个日志数据库:
<[endif]>
为了方便大家,我直接将该文件发布在下面,大家直接复制到SQL中运行也可以: