log4net快速部署的4個步驟

第一步:配置config文件   
爲了方便管理,把log4net的配置文件從web.config中分離,新建一個名爲log4net.config的文件,內容以下:
<?xml version="1.0"encoding="UTF-8"?>
<log4net debug="false">

<!--按日期分割日誌文件 一天一個-->
<appender name="LogFileAppenderByDate"type="log4net.Appender.RollingFileAppender">

<!--是否續寫-->
<param name="AppendToFile"value="true"/>
<!--最小鎖定模型以容許多個進程能夠寫入同一個文件-->
<param name="LockingModel"value="log4net.Appender.FileAppender.MinimalLock"/>
<param name="StaticLogFileName"value="true"/>
<!--保存路徑-->
<param name="File"value="F:\Log\\"/>
<param name="DatePattern"value="yyyy-MM-dd.LOG"/>
<param name="StaticLogFileName"value="false"/>
<param name="RollingStyle"value="Date"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern"value="時間:%d %n級別:%level %n類名:%c%n文件:%F 第%L行%n日誌內容:%m%n-----------------------------------------%n%n"/>
</layout>
</appender>

<!--按日誌容量分割日誌文件 10KB一個-->
<appender name="LogFileAppenderBySize"type="log4net.Appender.RollingFileAppender">

<!--是否續寫-->
<param name="AppendToFile"value="true"/>
<!--最小鎖定模型以容許多個進程能夠寫入同一個文件-->
<param name="LockingModel"value="log4net.Appender.FileAppender.MinimalLock"/>

<param name="StaticLogFileName"value="true"/>

<!--按照文件的大小進行變換日誌文件-->
<param name="RollingStyle"value="Size"/>
<param name="File"value="LogData\\log.txt"/>
<!--單個文件最大數量 好像只有在 按Size分割時有效-->
<param name="MaximumFileSize"value="10KB"/>
<!--保留的log文件數量 超過此數量後 自動刪除以前的   好像只有在 按Size分割時有效-->
<param name="MaxSizeRollBackups"value="2"/>

<param name="StaticLogFileName"value="false"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern"value="發生時間:%d %n事件級別:%level %n相關類名:%c%n程序文件:%F 第%L行%n日誌內容:%m%n-----------------------------------------%n%n"/>
</layout>
</appender>
<!--記錄日誌到數據庫-->
<appender name="AdoNetAppender"type="log4net.Appender.AdoNetAppender">
<bufferSize value="100"/>
<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<connectionString value="data source=GAS-HECHEN;initial catalog=dsc141051_db;integrated security=false;persist security info=True;User ID=sa;Password=000000"/>
<commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)"/>
<parameter>
<parameterName value="@log_date"/>
<dbType value="DateTime"/>
<layout type="log4net.Layout.RawTimeStampLayout"/>
</parameter>
<parameter>
<parameterName value="@thread"/>
<dbType value="String"/>
<size value="255"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%thread"/>
</layout>
</parameter>
<parameter>
<parameterName value="@log_level"/>
<dbType value="String"/>
<size value="50"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level"/>
</layout>
</parameter>
<parameter>
<parameterName value="@logger"/>
<dbType value="String"/>
<size value="255"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%logger"/>
</layout>
</parameter> 胸圍 <parameter> <parameterName value="@message"/> <dbType value="String"/> <size value="4000"/> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%message"/> </layout> </parameter> <parameter> <parameterName value="@exception"/> <dbType value="String"/> <size value="2000"/> <layout type="log4net.Layout.ExceptionLayout"/> </parameter> </appender> <root> <level value="INFO"/> <!--啓用按日期分割--> <appender-refref="LogFileAppenderByDate"/> <!--啓用按容量分割--> <!--<appender-refref="LogFileAppenderBySize"/>--> <!--啓用保存到數據庫--> <!--<appender-refref="AdoNetAppender"/>--> </root> </log4net> 複製代碼    內容主要配置日誌的輸出方式: 一、按日期生成  二、按文件大小 生成  三、把日誌保存到數據庫文件。最後root節點是設置啓動哪一種方式來保存日誌,以及設置日誌的級別第二步:把Log4Net.config文件添加到項目啓動項        在website或winform 項目下的Global.asax.cs類的Application_Start()方法下添加加載日誌配置文件代碼 voidApplication_Start(objectsender, EventArgs e) { //Code that runs on application startup log4net.Config.XmlConfigurator.ConfigureAndWatch(newFileInfo(Server.MapPath("/Log4Net.config"))); } 複製代碼第三步:在類庫裏添加日誌幫助類LogHelper        添加輔助類的目的: 一、方便各個類庫及項目直接調用,不用每一個項目裏都添加log4net的引用                                二、爲了支持根據本身配置的日誌輸出格式和輸出方式 輸出日誌(configPath 用來傳入日誌配置路徑) 第四步:在項目裏應用日誌           ILog log = LogHelper.GetInstance(); log.Fatal("Fatal"); 複製代碼或者 ILog log = LogHelper.GetInstance(configPath); log.Fatal("diaoxw");
相關文章
相關標籤/搜索