asp.net 4.0 使用log4net記錄錯誤記錄檔例子

來源:互聯網
上載者:User

原來也一直用log4net記錄日誌,但是是在.net2.0 上用的。最近用到新的項目是vs2015開發的,要用log4net,今天將.net 4.0 使用log4net記錄錯誤記錄檔的步驟,分享給大家。

1、首先到http://logging.apache.org/log4net/download_log4net.cgi 下載最新版本的log4net。如果不需要修改log4net的原始碼的話,建議下載二進位的就可以了。最新版本是log4net 1.2.15。

IT分享

2、下載好log4net.dll檔案後,找到net4.0版本的dll檔案。拷貝到項目中根目錄下的自訂目錄lib檔案夾下,然後在項目中添加對該檔案的引用。

3、找到項目中Propertites目錄下的AssemblyInfo.cs檔案,在末尾添加一行調用設定檔的代碼如下:  


[assembly: log4net.Config.XmlConfigurator(ConfigFile = @"Config\log4net.cfg.xml", Watch = true)]

4、建立設定檔夾Config,並添加一個log4net.cfg.xml檔案,設定檔內容如下:

注意:路徑別搞錯了,看清楚上面的圖~


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section   name="log4net"   type="System.Configuration.IgnoreSectionHandler"   />
  </configSections>
  <log4net>
    <appender   name="LogFileAppender"   type="log4net.Appender.FileAppender">
      <param   name="File"   value="Log/log.txt"   />
      <param   name="AppendToFile"   value="true"   />
      <layout   type="log4net.Layout.PatternLayout">
        <param   name="Header"   value="[Header]/r/n"   />
        <param   name="Footer"   value="[Footer]/r/n"   />
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x]  - %m%n"     />
      </layout>
    </appender>
    <root>
      <level   value="ALL"   />
      <appender-ref   ref="LogFileAppender"   />
    </root>
    <logger   name="SLog4net.Form1">
      <level   value="ALL"   />
      <appender-ref   ref="LogFileAppender"   />
    </logger>
  </log4net>
</configuration>

5、建一個公用類,在裡面加上這樣的代碼:

 public static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

6、調用:

APManage.log.De<a href="http://www.suchso.com/programmer/chengxuyuan-duanzi-bug-shangwang.html" class="keylink" title=" Bug修複" target="_blank">bug</a>("系統啟動");
IT分享

7、記錄錯誤記錄檔:

web項目中添加全域處理檔案Global.asax。

protected void Application_Error(object sender, EventArgs e)
        {
            ErrorDeal();
        }
          private void ErrorDeal()
        {
            // 在出現未處理的錯誤時啟動並執行代碼
            Exception ex = Server.GetLastError().GetBaseException();
            StringBuilder str = new StringBuilder();
            str.Append("\r\n" + DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss"));
            str.Append("\r\n.客戶資訊:");
            string ip = "";
            if (Request.ServerVariables.Get("HTTP_X_FORWARDED_FOR") != null)
            {
                ip = Request.ServerVariables.Get("HTTP_X_FORWARDED_FOR").ToString().Trim();
            }
            else
            {
                ip = Request.ServerVariables.Get("Remote_Addr").ToString().Trim();
            }
            str.Append("\r\n\tIp:" + ip);
            str.Append("\r\n\t<a href="projecteactual/web-server-browser-cache-1.html" class="keylink" title=" 瀏覽器的緩衝原理及緩衝方式" target="_blank">瀏覽器</a>:" + Request.Browser.Browser.ToString());
            str.Append("\r\n\t瀏覽器版本:" + Request.Browser.MajorVersion.ToString());
            str.Append("\r\n\t作業系統:" + Request.Browser.Platform.ToString());
            str.Append("\r\n.錯誤資訊:");
            str.Append("\r\n\t頁面:" + Request.Url.ToString());
            str.Append("\r\n\t錯誤資訊:" + ex.Message);
            str.Append("\r\n\t錯誤源:" + ex.Source);
            str.Append("\r\n\t異常方法:" + ex.TargetSite);
            str.Append("\r\n\t堆棧資訊:" + ex.StackTrace);
            str.Append("\r\n--------------------------------------------------------------------------------------------------");
            APManage.log.Error(str);
            //處理完及時清理異常
            Server.ClearError();
        }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.