微软企业库4.1学习笔记(三十六)日志模块 简介

   

  日志模块

 

企业库的日志模块简单的实现了日志功能的常用功能。开发者可以利用模块在下面的位置记录信息:

  •          事件日志
  •          电子邮件
  •          数据库
  •          消息队列
  •          文本文件
  •          WMI 的事件查看器
  •          自定义的位置

模块为记录在任何位置的日志信息都提供了一系列接口。在你的应用中不需要指明信息的目的地。配置信息决定了是否记录日志,以及日志记录的位置。这就意味着开发者不需要修改应用代码就可以变更日志的行为。

 

         本节包含下面的内容:

  •          简介
  •          使用模块进行开发
  •          典型解决方案
  •          模块的设计目的
  •          扩展和修改模块
  •          部署和实施模块
  •          示例代码
  •  

   1、  简介

通过下面的主题,你可以发现模块是否适合于你。

 

常用方案

开发者在开发过程中经常需要日志功能。典型的,响应应用事件的格式和日志信息。例如,开发者经常会写一些代码来记录非预期的日志,例如异常、或者是连接数据库失败。也包括一些跟踪应用流程的过程,参数的传递等等。

应用需要记录本地和网络的信息。某些情况,你还需要将多个位置的信息整理到一个目的地。

         日志模块通过封装的一些列方法,简化了上面这些需求的实现。包括:

  •          用代码增加和引发事件
  •          增加带有其他环境信息的日志消息
  •          跟踪应用的行为,增加上下文信息
  •          构造日志信息之前,检查 filter 的状态
  •          示例代码

  

ExpandedBlockStart.gif 代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->    private   void  RecordSelectedCategories()
        {
            
                categories.Add(
" Trace " );
            
            
            
        }
        
protected   void  Button1_Click( object  sender, EventArgs e)
        {
           RecordSelectedCategories();
            LogEntry log 
=   new  LogEntry();
            log.EventId 
=   100 ;
            log.Priority 
=   3 ;
            log.Message 
=   " information message " ;
            log.Categories 
=  Categories;
            Logger.Write(log );
          
        }
        [NonSerialized]
        
private  ICollection < string >  categories  =   new  List < string > ( 0 );
        [IgnoreMember]
        
public  ICollection < string >  Categories
        {
            
get  {  return  categories; }
            
set  {  this .categories  =  value; }
        }

 

  什么时候选用日志模块

  如果你的应用需要将日志信息记录到windows事件中,邮件中,数据库中,消息队列中,WMI中,或者是一个文件中,你可以考虑使用模块。在某些情况,日志模块非常有用,例如,你需要在优先级和目录上过滤日志,你需要格式化日志信息,你需要在不修改代码的情况下变更日志的记录位置。日志模块设计的很灵活,可以自定义格式和trace listener,满足你的特定需要。

  日志的信息默认是明文记录的,如果又需要的话,可以通过访问控制列表来控制访问日志文件的用户,也可以自定义格式实现日志信息的加密。

  2、在应用中使用日志模块

  配置日志模块,如下图所示,右键菜单中选择【Logging Application Block】.

  

 

   

 

未完待续。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值