首页 / 网页编程 / ASP.NET / ASP.NET企业开发框架IsLine FrameWork系列之七--AppLogProvider日志框架(上)
        
            ASP.NET企业开发框架IsLine FrameWork系列之七--AppLogProvider日志框架(上)2011-09-21 博客园 李鸣日志与异常部署系统以后,管理员需要有一套强大的日志系统来诊断和修复配置上的问题,这就需要一套通过配 置就可以变更日志记录的方式。经验表明,日志模块往往是软件开发周期中的重要组成部分,Aicken曾用 过一段时间的Log4Net,Log4Net是个很不错的日志框架,但是有时候仍然觉得有些不顺手,例如,需要用 不同类型的日志记录不同的类、方法的行为和不同的业务行为,有时需要在系统运行期,改变某个业务日 志的记录介质或是否记录等等,遇到这些因素 Log4Net可能需要修改代码重新编译,而IsLine FrameWork 的AppLogProvider模块可以只修改配置文件就可满足需求,它具有以下几个优点:它可以提供应用程序运行时的精确环境,可供开发人员尽快找到应用程序中的Bug;一旦在程序中加入了Log 输出代码,程序运行过程中就能生成并输出日志信息而无需人工干预。不同的日志信息可以输出到不同的地方(控制台、文件、数据库等)以备以后研究之用。这两个Provider就是根据这些需求开发的,它们分别负责记录系统中的运行日志与运行时异常,但是 IsLine框架的AppLogProvider比Log4Net更加灵活、易用,使用这个模块的优点如下:由Render组件来定义输出介质。正如名字所示,这些组件把它们附加到日志组件上并将输出传递到输 出流中,可以把一个Appender组件附加到多个日志对象上。灵活控制日志等级,在部署系统后,通过等级控制,快捷切换是否记录某个业务块的信息。通过日志缓存的设定,使系统集中资源的收集日志和异常信息,当达到一定的阀值后,高效的写入存 储介质。通过配置文件,可以快捷改变日志记录介质(文件、数据库),记录所用到的技术,不需更改程序文件 ,只需改变配置文件。使用者可以很精确地控制日志信息的输出,减少了多余信息,提高了日志记录性能。同时,通过外部 配置文件,用户可以不用重新编译程序就能改变应用的日志行为,使得用户可以根据情况灵活地选择要记 录的信息。在这两个Provider中,有一个很重要的概念,就是“Render ”,Render是日志异常模块的配置节点, 它决定了系统日志记录的目标、记录方式、路径等信息,这些信息可以通过配置得出,它可以是数据库、 文本文件、 XML文件,甚至是电视机,不过除了数据库、文件这些内置Render外,其他记录介质需要继承 相关接口,然后扩展实现。该Provider目前内置支持SQL SERVER、ORACLE、文本文件的记录方式,并可使用sql语句或存储过程为 记录手段。Render介绍:这是一个Render实例<OracleUsingSPRender>
<AppenderStyle>Oracle</AppenderStyle>
<AppenderType>StoredProcedure</AppenderType>
<AppenderInf>IsLine.Data.Configuration.OracleConnectString</AppenderInf>
<AppenderContent>SP_ADD_ILFWLOG.ADD_ILFWLOG</AppenderContent>
<LayoutInf></LayoutInf>
<Level>Debug</Level>
</OracleUsingSPRender>