ASP.NET 配置log4net啟用寫錯誤記錄檔功能

來源:互聯網
上載者:User

首先我們到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="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" />      <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="&#13;&#10;----------------------header--------------------------&#13;&#10;" />        <param name="Footer" value="&#13;&#10;----------------------footer--------------------------&#13;&#10;" />      </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

給予我很大的協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.