首先我們到apche的官網下載log4net的項目編譯得到log4net也可以下載編譯好的.dll文件直接引用。下載主頁地址http://logging.apache.org/log4net/download_log4net.cgi
log4net-1.2.11-bin-newkey.zip[編譯好的dll文件]
log4net-1.2.11-src.zip[這是log4net項目,下載自己編譯就得到了loge4net.dll]
然后我們在webconfig里面開始配置log4net
<?xml version="1.0"?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </configSections> <log4net> <!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL --> <!-- Set root logger level to ERROR and its appenders --> <root> <level value="ALL"/> <appender-ref ref="SysAppender"/> </root> <!-- Print only messages of level DEBUG or above in the packages --> <logger name="WebLogger"> <level value="ALL"/> </logger> <appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net" > <param name="File" value="Logger/" /> <param name="AppendToFile" value="true" /> <param name="RollingStyle" value="Date" /> <param name="DatePattern" value=""Logs_"yyyyMMdd".txt"" /> <param name="StaticLogFileName" value="false" /> <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /> <param name="Header" value=" ----------------------header-------------------------- " /> <param name="Footer" value=" ----------------------footer-------------------------- " /> </layout> </appender> </log4net> </configuration>
第三步
在文件AssemblyInfo.cs加入一句代碼,AssemblyInfo.cs的路徑所在Properties目錄下
加入的代碼如下:
// 日志組件配置
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", ConfigFileExtension = "config", Watch = true)]
然后我們開始寫一個公共類來封裝方法來調用log4net
using System; using System.Collections.Generic; using System.Web; using log4net; using System.Configuration; namespace testWeb { /// <summary> ///錯誤記錄日志 /// </summary> public class MyLog4NetInfo { private static readonly log4net.ILog log = log4net.LogManager.GetLogger("WebLogger"); public MyLog4NetInfo() { } private static void SetConfig() { object o = ConfigurationManager.GetSection("log4net"); log4net.Config.XmlConfigurator.Configure(o as System.Xml.XmlElement); } public static void LogInfo(string Message) { if (!log.IsInfoEnabled) SetConfig(); log.Info(Message); } public static void LogInfo(string Message, Exception ex) { if (!log.IsInfoEnabled) SetConfig(); log.Info(Message, ex); } public static void ErrorInfo(string Message) { if (!log.IsInfoEnabled) SetConfig(); log.Error(Message); } public static void DebugInfo(string Message) { if (!log.IsInfoEnabled) SetConfig(); log.Debug(Message); } } }
5創建一個測試aspx頁面log4netTest.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="log4netTest.aspx.cs" Inherits="testWeb.log4netTest" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <body> <form ID="_aspNetForm" runat="server"> <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /> </form> </body> </html>
using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace testWeb { public partial class log4netTest : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { } } protected void Button1_Click(object sender, EventArgs e) { MyLog4NetInfo.LogInfo("錯誤日志test"); MyLog4NetInfo.LogInfo("錯誤日志test"); MyLog4NetInfo.DebugInfo("錯誤日志test"); } } }
測試結果已經完畢
感謝
http://www.okajax.com/a/200912/log4Net.html
http://www.cnblogs.com/chencidi/archive/2010/01/12/1645291.html
給予我很大的幫助。
如果這篇文章對您有幫助,您可以打賞我