log4net 在asp.net WEB应用程序中的配置
我是一個三層架構的應用程序,將日志記錄放在了業務層,并寫入了數據庫,整個使用操作步驟為以下步驟。
第一步 編寫配置文件
文件名稱為 log4net.config 內容如下
?
<?xml version="1.0" encoding="utf-8"?>
<log4net>
? <appender name="ADONetAppender" type="log4net.Appender.ADONetAppender">
??? <bufferSize value="1" />
??? <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
??? <connectionString value="server=fogwang;database=zzrd;uid=sa;pwd=sa;pooling=false;" />
??? <commandText value="INSERT INTO LogInfo ([dtDate],[sThread],[sLevel],[sLogger], [ClientIP], http://www.taodudu.cc/news/show-855281.html,[sMessage],[sException],OpreateType,UserAccount,UIOrSysAdmin,LogType) VALUES (@log_date, @thread, @log_level, @logger, @ClientIP, @PageUrl,@message, @exception,@OpreateType,@UserAccount,@UIOrSysAdmin,@LogType)" />
??? <parameter>
????? <parameterName value="@log_date" />
????? <dbType value="DateTime" />
????? <layout type="log4net.Layout.RawTimeStampLayout" />
??? </parameter>
??? <parameter>
????? <parameterName value="@thread" />
????? <dbType value="String" />
????? <size value="50" />
????? <layout type="log4net.Layout.PatternLayout">
??????? <conversionPattern value="%t" />
????? </layout>
??? </parameter>
??? <parameter>
????? <parameterName value="@log_level" />
????? <dbType value="String" />
????? <size value="200" />
????? <layout type="log4net.Layout.PatternLayout">
??????? <conversionPattern value="%p" />
????? </layout>
??? </parameter>
??? <parameter>
????? <parameterName value="@logger" />
????? <dbType value="String" />
????? <size value="200" />
????? <layout type="log4net.Layout.PatternLayout">
??????? <conversionPattern value="%logger" />
????? </layout>
??? </parameter>
??? <parameter>
????? <parameterName value="@ClientIP" />
????? <dbType value="String" />
????? <size value="50"></size>
????? <layout type="log4net.Layout.PatternLayout">
??????? <conversionPattern value="%properties{ClientIP}" />
????? </layout>
??? </parameter>
??? <parameter>
????? <parameterName value="@PageUrl" />
????? <dbType value="String" />
????? <size value="200"></size>
????? <layout type="log4net.Ext.Web.ReflectionLayout">
??????? <conversionPattern value="%properties{RequestUrl}" />
????? </layout>
??? </parameter>
??? <parameter>
????? <parameterName value="@OpreateType" />
????? <dbType value="String" />
????? <size value="50"></size>
????? <layout type="log4net.Ext.Web.ReflectionLayout">
??????? <conversionPattern value="%properties{OpreateType}" />
????? </layout>
??? </parameter>
??? <parameter>
????? <parameterName value="@UserAccount" />
????? <dbType value="String" />
????? <size value="50"></size>
????? <layout type="log4net.Ext.Web.ReflectionLayout">
??????? <conversionPattern value="%properties{UserAccount}" />
????? </layout>
??? </parameter>
??? <parameter>
????? <parameterName value="@UIOrSysAdmin" />
????? <dbType value="String" />
????? <size value="10"></size>
????? <layout type="log4net.Ext.Web.ReflectionLayout">
??????? <conversionPattern value="%properties{UIOrSysAdmin}" />
????? </layout>
??? </parameter>
??? <parameter>
????? <parameterName value="@LogType" />
????? <dbType value="String" />
????? <size value="50"></size>
????? <layout type="log4net.Ext.Web.ReflectionLayout">
??????? <conversionPattern value="%properties{LogType}" />
????? </layout>
??? </parameter>
??? <parameter>
????? <parameterName value="@message" />
????? <dbType value="String" />
????? <size value="3500" />
????? <layout type="log4net.Layout.PatternLayout">
??????? <conversionPattern value="%m" />
????? </layout>
??? </parameter>
??? <parameter>
????? <parameterName value="@exception" />
????? <dbType value="String" />
????? <size value="3500" />
????? <layout type="log4net.Layout.ExceptionLayout" />
??? </parameter>
? </appender>
? <!-- setup the root category, add the appenders and set the default level -->
? <root>
??? <level value="WARN"/>
??? <level value="INFO"/>
??? <level value="DEBUG"/>
??? <level value="FINE"/>
??? <appender-ref ref="ADONetAppender" />
? </root>
? <logger name="StellaLogger">
??? <level value="ALL"/>
??? <appender-ref ref="AdoNetAppender" />
? </logger>
</log4net>
????? /// <summary>
????? /// 刪除記錄
????? /// </summary>
????? /// <param name="id">ID(可多個)</param>
????? /// <returns></returns>
????? public bool Delete ( string id )
????? {
????????? DataTable dt= dal.getNewsList("id,title,typename"," in in("+id+")");
????????? log4net.Ext.Web.IWebLog log = log4net.Ext.Web.WebLogManager.GetLogger(typeof(NewsBLL));
????????? log.Info("刪除新聞標題:" + dt.Rows[0]["title"] + "新聞編號:" + dt.Rows[0]["id"] + "類別:" + dt.Rows[0]["typename"], WebUtility.Comm.GetAdminOrUIUserCook()[0], WebUtility.Comm.GetIP(), WebUtility.Comm.GetUrl(), log4net.Ext.Web.WebLogImpl.OpreateType.刪除, log4net.Ext.Web.WebLogImpl.UIOrSys.后臺, log4net.Ext.Web.WebLogImpl.LogType.信息操作日志);
????????? return dal.Delete ( id );
????? }
????? #endregion 第四步:讀取操作日志: 數據層代碼: public class LogOpreateDAL
?? {
?????? public int Delete(string id)
?????? {
?????????? return SqlHelper.ExecuteNonQuery(DBConn.GetSqlConn(), CommandType.Text, "Delete LogInfo Where LogID In(" + id + ")");
?????? } ?????? public DataSet GetListByPage(string expcon, int pagesize, int CurrentPage, out int PageCount, out int RecordCount)
?????? {
?????????? PagerDAL dal = new PagerDAL();
?????????? return dal.GetPagerList(DBConn.GetSqlConn(), "LogInfo", "LogId", 1, "*", pagesize, CurrentPage, expcon, out PageCount, out RecordCount);
?????? } ?? } 顯示效果如下:
轉載于:https://www.cnblogs.com/fogwang/archive/2011/10/21/2666611.html
總結
以上是生活随笔為你收集整理的log4net 在asp.net WEB应用程序中的配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 上海科研团队成功研发新型“生物墨水”,可
- 下一篇: 女子长期未卸美甲长出灰指甲 医生建议20