练习1:添加日志记录到应用程序中
该练习将示范如何向已有的应用程序中添加日志和监测(Trace姑且这么翻译吧,不太准确),并通过Enterprise Library Configuration工具来配置TraceListeners。
第一步
打开EnoughPI.sln项目,默认的安装路径应该为C:\Program Files\Microsoft Enterprise Library January 2006\labs\cs\Logging\exercises\ex01\begin,并编译。
第二步 关于练习应用程序
选择Debug | Start Without Debugging菜单命令并运行应用程序,EnoughPI程序用来计算∏的精度。在NumericUpDown控件中输入你希望的精度并点击Calculate按钮。
第三步 添加日志
1.选择EnoughPI项目,选择Project | Add Reference …菜单命令,在打开的对话框中选择Browse,并添加如下程序集。
Microsoft.Practices.EnterpriseLibrary.Logging.dll;
默认的位置应该是C:\Program Files\Microsoft Enterprise Library January 2006\bin。
2.在解决方案管理器中选择Calc\Calculator.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";
}