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

Enterprise Library 實戰系列(七):記錄與檢測應用程式區塊——入門篇

     編輯:關於.NET

前言

專案週期緊湊導致延遲發布,請見諒。上篇較簡單,後續會補充。

一、區塊概述

支援將事件記錄至多種目標:

  1. 事件記錄
  2. 電子郵件
  3. 資料庫
  4. 文字檔案
  5. 訊息佇列
  6. WMI
  7. 自訂目標

二、優勢

  • 統一企業級記錄實務
  • 一致架構模型降低學習曲線
  • 內建常見記錄任務實作
  • 可擴展格式化器與 Sink

三、常見情境

應用程式需適當格式化並記錄事件(本地或網路),有時需整合多來源事件。區塊透過收集常見任務、抽象提供者簡化開發,組態驅動讓基礎 Sink/Formatter 可熱插拔。

四、LogEntry 屬性

  • Message(必要)
  • Category(預設 General)
  • Priority(預設 -1)
  • EventID(預設 -1)
  • Severity(預設 Unspecified)
  • Title(預設空字串)

五、核心概念

Sink
日誌寫入目的地
Category
決定日誌流向,透過組態對應 Sink(如 General→事件記錄,Trace→文字檔)
Formatter
決定輸出格式,透過組態設定

六、三步驟加入記錄功能

1. 組態工具建立區塊

新增 Logging 區塊

2. 設定 Client 與 Distributor

  • Client Settings:預設 In-process 策略、LoggingEnabled=True
  • Distributor Settings:預設 General、Trace 兩個 Category。General 使用 Event Log Sink + Text Formatter
    Client Settings Distributor Settings

3. 複製組態檔、加入參考

copy "$(ProjectDir)\*.config" "$(TargetDir)"
// 參考
Microsoft.Practices.EnterpriseLibrary.Logging.dll
using Microsoft.Practices.EnterpriseLibrary.Logging;

4. 定義列舉常數

public struct Priority
{
    public const int Lowest = 0, Low = 1, Normal = 2, High = 3, Highest = 4;
}
public struct Category
{
    public const string General = "General", Trace = "Trace";
}

5. 寫入日誌

LogEntry log = new LogEntry();
log.Message = this.txt_LogMessage.Text;
log.Category = Category.General;
log.Priority = Priority.Normal;
Logger.Write(log);

6. 查看事件檢視器

事件檢視器列表 事件詳細資訊

結語

入門篇完成基本記錄。進階篇將介紹字典日誌、活動追蹤、過濾、格式客製化、同步/非同步設定等。

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