快捷搜索:

Enterprise Library 2.0 Hands On Lab 翻译(4):日志应用

第一步

打开EnoughPI.sln项目,默认的安装路径应该为C:Program FilesMicrosoft Enterprise Library January 2006labscsLoggingexercisesex01begin,并编译。

第二步 关于演习利用法度榜样

选择Debug | Start Without Debugging菜单敕令并运行利用法度榜样,EnoughPI法度榜样用来谋略∏的精度。在NumericUpDown控件中输入你盼望的精度并点击Calculate按钮。

第三步 添加日志

1.选择EnoughPI项目,选择Project | Add Reference …菜单敕令,在打开的对话框中选择Browse,并添加如下法度榜样集。

Microsoft.Practices.EnterpriseLibrary.Logging.dll;

默认的位置应该是C:Program FilesMicrosoft Enterprise Library January 2006bin。

2.在办理规划治理器中选择CalcCalculator.cs文件,选择View | Code菜单敕令,并添加如下命名空间。

using Microsoft.Practices.EnterpriseLibrary.Logging;

3.记录谋略完成时的信息在Calculator.cs文件的OnCalculated措施中添加如下代码。

protected void OnCalculated(CalculatedEventArgs args)

{

// TODO: Log final result

LogEntry log = new LogEntry();

log.Message = string.Format("Calculated PI to {0} digits", args.Digits);

log.Categories.Add(Category.General);

log.Priority = Priority.Normal;

Logger.Write(log);

if (Calculated != null)

Calculated(this, args);

}创建了一个新的日志项LogEntry并设置参数,应用Logger类的静态措施Write()记录到一个或多个TraceListener。留意这里没有应用硬编码而应用常量的Category和Priority,在EnoughPI.Logging的Constants.cs中作了如下定义:

public struct Priority

{

public const int Lowest = 0;

public const int Low   = 1;

public const int Normal = 2;

public const int High  = 3;

public const int Highest = 4;

}

public struct Category

{

public const string General = "General";

public const string Trace  = "Trace";

}4.记录谋略历程的信息在OnCalculated措施中添加如下代码。

protected void OnCalculating(CalculatingEventArgs args)

{

// TODO: Log progress

Logger.Write(

string.Format("Calculating next 9 digits from {0}", args.StartingAt),

Category.General,

Priority.Low

);

if (Calculating != null)

Calculating(this, args);

if (args.Cancel == true)

{

// TODO: Log cancellation

Logger.Write("Calculation cancelled by user!",

Category.General, Priority.High);

}

}

留意这里应用Logger类的重载Write措施来快捷的创建了一个日志项LogEntry。

5.记录谋略历程的非常信息,添加如下代码到OnCalculatorException措施中。

protected void OnCalculatorException(CalculatorExceptionEventArgs args)

{

// TODO: Log exception

if (!(args.Exception is ConfigurationErrorsException))

{

Logger.Write(args.Exception, Category.General, Priority.High);

}

if (CalculatorException != null)

CalculatorException(this, args);

}

第五步 设置设置设备摆设摆设利用法度榜样

1.在利用法度榜样上右击并选择New | Logging Application Block

2.默认的日志利用法度榜样块定义了一个名为General的Category,Categories是一组简单的文本标签,你可以提交日志信息到一组这样的Category。General种别有一个名为Formatted EventLog TraceListener的TraceListener。要添加一个新的Category,在Category Sources上右击,选择New | Category。一个Category可以有多个TraceListener,而一个TraceListener也可以被多个Category所引用。

留意Category着实这天志信息的一种逻辑分类,可以把要记录的日志信息分为界面日志,非通常志,数据造访日志等,至于详细记录到什么位置,则是由TraceListener来抉择的。

3.选择Logging Application Block | Trace Listeners | Formatted EventLog TraceListener节点,设置Source属性为EnoughPI。

留意该TraceListener将应用Text Formatter来款式化日志信息,并且记录日志信息到Windows Event Log中。

4.选择菜单File | Save All保存利用法度榜样的设置设置设备摆设摆设,并关闭Enterprise Library Configuration对象。

3.在办理规划治理器中选择App.config,选择View | Open With…菜单敕令,选择Enterprise Library Configuration并单击OK按钮。

4.选择Logging Application Block节点,设置TracingEnabled属性为True。

5.添加新的TraceListener,选中Logging Application Block | Trace Listeners节点,并选择Action | New | FlatFile TraceListener菜单敕令。

6.设置Formatter属性为Text Formatter。

7.添加新的监测种别。选中Logging Application Block | Category Sources节点,并选择Action | New | Category菜单敕令。

8.设置Name属性为Trace,SourceLevels属性为ActivityTracing。

您可能还会对下面的文章感兴趣: