利用 Enterprise Library 改善你的应用系统4——logging Block Application

日志功能的需求:
     你需要记录业务数据和运行数据到不同的地方,这些地方应该是可以在外部配置的
     你需要用跟踪机制进行产品调试
     你需要提供安全审计
     你需要能够使不同的消息发到不同的地方,并可以有不同的格式
     你需要把一条消息发到很多不同的目的地

场景
     在代码记录事件
     在日志消息中添加额外的上下文信息
     跟踪活动并记录上下文信息
     将不同类型的事件定向到不同的sink
     基于类别或优先级过滤事件
     将日志功能配置成同步或异步
     定制日志消息的格式
 
日志项
     Logging block 创建一个日志项来承载记录信息
     每个日志项具有以下属性
     Message (必需) 
     Category (配置提供缺省值)
     Priority (缺省值为-1)
     Event ID (缺省值为1)
     Severity (缺省值为 Severity.Unspecified)
     Title (缺省值为“”)
     你创建一个日志项对象,然后把它传给Logger.Write() 方法

创建日志项
     LogEntry log = new LogEntry();
     log.Message = "My message";
     log.EventId = 1;
     log.Category = "UI Events";
     log.Priority = 2;
     log.Severity = Severity.Information;
     log.Title = "My title";
     
     Logger.Write(log);

在日志消息中添加额外的上下文信息
     DebugInformationProvider

跟踪活动并记录上下文信息
     活动跟踪由 Tracer 类提供(自动记录活动时间)
     // Begin tracing activity
     using (new Tracer("UI Events"))
     {
        DoDataAccess();  
     }

     private void DoDataAccess()
     {
           // Trace nested activity
           using (new Tracer("Data Access Events“, “Data Access”))
           {    
          Logger.Write(“Troubleshooting message"); 
           }
     }

posted @ 2008-05-14 14:47  老大卫  阅读(441)  评论(0编辑  收藏  举报