練習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";
}