首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

Enterprise Library 2.0 Hands On Lab 翻譯(5):日誌應用程式區塊(二)

     編輯:關於ASP.NET

練習 2:建立與使用自訂 TraceListener

建立自訂 TraceListener 將日誌輸出至主控台,並加入至 EnoughPI 應用程式。

步驟 1:開啟專案

開啟 EnoughPI.sln,預設路徑 C:\Program Files\Microsoft Enterprise Library January 2006\labs\cs\Logging\exercises\ex02\begin,編譯。

步驟 2:建立自訂 TraceListener

  1. 專案 EnoughPI.Logging 加入參考:
Microsoft.Practices.EnterpriseLibrary.Common.dll
Microsoft.Practices.EnterpriseLibrary.Logging.dll

加入 Logging 組件參考

  1. 開啟 TraceListeners\ConsoleTraceListener.cs,加入命名空間:
using Microsoft.Practices.EnterpriseLibrary.Common.Configuration;
using Microsoft.Practices.EnterpriseLibrary.Logging;
using Microsoft.Practices.EnterpriseLibrary.Logging.Configuration;
using Microsoft.Practices.EnterpriseLibrary.Logging.Formatters;
using Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners;
  1. 在 ConsoleTraceListener 類別加入代碼:
[ConfigurationElementType(typeof(CustomTraceListenerData))]
public class ConsoleTraceListener : CustomTraceListener
{
    public ConsoleTraceListener() : base() { }

    public override void TraceData(TraceEventCache eventCache, string source, TraceEventType eventType, int id, object data)
    {
        if (data is LogEntry && this.Formatter != null)
            this.WriteLine(this.Formatter.Format(data as LogEntry));
        else
            this.WriteLine(data.ToString());
    }

    public override void Write(string message)
    {
        Console.Write(message);
    }

    public override void WriteLine(string message)
    {
        Console.WriteLine((string)this.Attributes["delimiter"]);
        Console.WriteLine(message);
    }
}

繼承 CustomTraceListener,覆寫 Write、WriteLine 抽象方法,並覆寫 TraceData 支援格式化。擁有 delimiter 參數作為 Listener 配置一部分。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved