国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

點滴積累【C#】---使用log4net組件記錄錯誤日志(以文本形式記錄)

2019-11-17 02:29:19
字體:
來源:轉載
供稿:網友

點滴積累【C#】---使用log4net組件記錄錯誤日志(以文本形式記錄)

效果:

描述:

利用log4net組件進行錯誤日志的記錄,log4net記錄錯誤的方式我所了解的有4種,No.1 文本形式記錄日志,No.2存儲到數據庫形式記錄日志,No.3控制臺控制顯示日志,No.4Windows事件日志。本文所采用的是第一種形式------文本形式記錄日志。

首先,引用log4net.dll文件,然后創建一個config文件,進行配置日志的相關信息,比如:配置路徑,以及錯誤的顯示形式等。然后創建一個Global.asax應用程序文件,用于第一次訪問時執行配置文件。然后創建一個類,進行錯誤日志的整理,然后調用這個類進行寫入日志。

代碼:

配置文件(log.config)

<?xml version="1.0" encoding="utf-8" ?><configuration>  <configSections>    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />  </configSections>  <log4net>    <root>      <level value="ALL" />      <!--文件形式記錄日志-->      <appender-ref ref="RollingLogFileAppender" />    </root>    <!--輸出到文件中-->    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">      <!--保存路徑-->      <file value="log//Log-" />      <!--是否續寫-->      <appendToFile value="true" />      <!--按照文件的大小進行變換日志文件-->      <rollingStyle value="Date" />      <!--保留的log文件數量 超過此數量后 自動刪除之前的   好像只有在 按Size分割時有效-->      <param name="MaxSizeRollBackups" value="100"/>      <param name="StaticLogFileName" value="false"/>      <param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;"/>      <encoding value="utf-8" />      <!--最小鎖定模型以允許多個進程可以寫入同一個文件-->      <lockingModel type="log4net.Appender.RollingFileAppender+MinimalLock" />      <!--      <maxSizeRollBackups value="10" />      <maximumFileSize value="1MB" />      -->      <layout type="log4net.Layout.PatternLayout">        <param name="conversionPattern" value="時間:%d%n線程:[%t]%n類型:%-5p%n標題:%c%n內容:%m%n——————————%n" />        <param name="Header" value="&#13;&#10;----------------------header--------------------------&#13;&#10;&#13;&#10;" />        <param name="Footer" value="&#13;&#10;----------------------footer--------------------------&#13;&#10;" />      </layout>    </appender>  </log4net></configuration>

應用程序(Global.asax)

PRotected void application_Start(object sender, EventArgs e)        {            log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(Server.MapPath("~") + @"/log.config"));        }

處理日志(logHelper.cs)

using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace log4net_Write{    public class logHelper    {        /// <summary>        /// 生成日志信息——Fatal(致命錯誤)        /// </summary>        /// <param name="message">日志內容</param>        public static void Fatal(string message)        {            log4net.ILog log = log4net.LogManager.GetLogger("Fatal");            if (log.IsFatalEnabled)            {                log.Fatal(message);            }            log = null;        }        /// <summary>        /// 生成日志信息——Fatal(致命錯誤)        /// </summary>        /// <param name="name">名稱</param>        /// <param name="message">日志內容</param>        public static void Fatal(string name, string message)        {            log4net.ILog log = log4net.LogManager.GetLogger(name);            if (log.IsFatalEnabled)            {                log.Fatal(message);            }            log = null;        }        /// <summary>        /// 生成日志信息——Error(一般錯誤)        /// </summary>        /// <param name="message">日志內容</param>        public static void Error(string message)        {            log4net.ILog log = log4net.LogManager.GetLogger("Error");            if (log.IsErrorEnabled)            {                log.Error(message);            }            log = null;        }        /// <summary>        /// 生成日志信息——Error(一般錯誤)        /// </summary>        /// <param name="name">名稱</param>        /// <param name="message">日志內容</param>        public static void Error(string name, string message)        {            log4net.ILog log = log4net.LogManager.GetLogger(name);            if (log.IsErrorEnabled)            {                log.Error(message);            }            log = null;        }        /// <summary>        /// 生成日志信息——Warn(警告)        /// </summary>        /// <param name="message">日志內容</param>        public static void Warn(string message)        {            log4net.ILog log = log4net.LogManager.GetLogger("Warn");            if (log.IsWarnEnabled)            {                log.Warn(message);            }            log = null;        }        /// <summary>        /// 生成日志信息——Warn(警告)        /// </summary>        /// <param name="name">名稱</param>        /// <param name="message">日志內容</param>        public static void Warn(string name, string message)        {            log4net.ILog log = log4net.LogManager.GetLogger(name);            if (log.IsWarnEnabled)            {                log.Warn(message);            }            log = null;        }        /// <summary>        /// 生成日志信息——Info(一般信息)        /// </summary>        /// <param name="message">日志內容</param>        public static void Info(string message)        {            log4net.ILog log = log4net.LogManager.GetLogger("Info");            if (log.IsInfoEnabled)            {                log.Info(message);            }            log = null;        }        /// <summary>        /// 生成日志信息——Info(一般信息)        /// </summary>        /// <param name="name">名稱</param>        /// <param name="message">日志內容</param>        public static void Info(string name, string message)        {            log4net.ILog log = log4net.LogManager.GetLogger(name);            if (log.IsInfoEnabled)            {                log.Info(message);            }            log = null;        }        /// <summary>        /// 生成日志信息——Debug(調試信息)        /// </summary>        /// <param name="message">日志內容</param>        public static void Debug(string message)        {            log4net.ILog log = log4net.LogManager.GetLogger("Debug");            if (log.IsDebugEnabled)            {                log.Debug(message);            }            log = null;        }        /// <summary>        /// 生成日志信息——Debug(調試信息)        /// </summary>        /// <param name="name">名稱</param>        /// <param name="message">日志內容</param>        public static void Debug(string name, string message)        {            log4net.ILog log = log4net.LogManager.GetLogger(name);            if (log.IsDebugEnabled)            {                log.Debug(message);            }            log = null;        }    }}

調用

   protected void btn_Click(object sender, EventArgs e)        {            try            {                int intStr = Convert.ToInt32(tb.Text);                tb2.Text = "轉換成功:" + intStr.ToString();            }            catch (Exception ex)            {                //logHelper.Error(ex.ToString());                //logHelper.Debug(ex.ToString());                //logHelper.Fatal(ex.ToString());                //logHelper.Info(ex.ToString());                logHelper.Warn("warn名稱", ex.ToString());            }        }

Demo下載:

http://files.VEVb.com/files/xinchun/GetLog2.zip


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 遵义市| 通城县| 东海县| 德州市| 芜湖市| 安庆市| 永登县| 新平| 德令哈市| 盐城市| 芜湖县| 泗洪县| 汉阴县| 交口县| 西乌珠穆沁旗| 晋城| 康保县| 广汉市| 梁山县| 阿鲁科尔沁旗| 铁岭市| 正安县| 白水县| 甘肃省| 嵊泗县| 北京市| 拉萨市| 新干县| 宜宾县| 阿鲁科尔沁旗| 高唐县| 马龙县| 上饶市| 赣州市| 呼伦贝尔市| 宁德市| 洱源县| 行唐县| 宜都市| 龙州县| 电白县|