ExceptionProcessProvider異常框架(上)
IsLine.ExceptionProcess.ExceptionProcessProvider命名空間:
系統日志和系統異常是分開記錄的,ILFW將系統日志與異常分開處理,以提高系統靈活性和安全性。 ExceptionProcessProvider是應用程序需要交互的主要組件,它用來產生異常消息,產生的異常消息並不 直接顯示,還要預先經過Layout的格式化處理後才會輸出。
概述:
異常模塊依附於IsLine.AppLog.AppLogProvider部分,同時異常模塊設計時是作為一種特殊的系統日 志來對待的,所以使用Exception模塊首先要配置AppLog模塊,具體方法參見Aicken的相關文章。
配置好日志模塊後,需要引入命名空間:
using IsLine.ExceptionProcess.ExceptionProcessProvider;
並在web.config中使用“add”標簽添加一個Exception的指針:
<add key="IsLine.ExceptionProcess.Configuration.RenderName" value="OracleUsingSPRender"/>
這個指針的作用是告訴Exception模塊使用的渲染器,渲染器的名字就是value,模塊加載時,會自動 加載IsLine.AppLog命名空間下的“渲染器初始化”模塊,經過對渲染器的初始化後,才會加載具體的 Exception對象。
這個配置過程描述如下,假使我們需要把異常信息記入Oracle數據庫,後來發現異常沒那麼重要,只 需記入文本文件就可以了,那麼我們需要這樣修改web.config文件。
1.在<configSections></configSections>之間加入如下節點
代碼
<sectionGroup name="IsLine.AppLog.Configuration">
<section name="FileRender" type="IsLine.Data.Configuration.SuitConfig"/>
<section name="OracleUsingSPRender" type="IsLine.Data.Configuration.SuitConfig"/>
</sectionGroup>
2.在</configSections><appSettings>之間加入如下節點
代碼
<IsLine.AppLog.Configuration>
<FileRender>
<AppenderStyle>File</AppenderStyle>
<AppenderType>Text</AppenderType>
<AppenderInf>IsLineLog/Log4Net1.txt</AppenderInf>
<AppenderContent>->Event Date:@eventDate;->Level:@level;- >Message:@exception;->Source:@source;->Stack Trace:@StackTrace- >Trigger:@trigger;->Memo:@message</AppenderContent>
<LayoutInf></LayoutInf>
<Level>Debug</Level>
</FileRender>
<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>
</IsLine.AppLog.Configuration>