C#Log4Net的簡單配置與使用 (已測試)

C#Log4Net的簡單配置與使用

 

 

 

圖片操作:

改進   新增  LogHelper幫助類

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Net.Http.code
{
    /// <summary>  
    /// LogHelper的摘要說明。   
    /// </summary>   
    public class LogHelper
    {
        
        /// <summary>
        /// 靜態只讀實體對象info信息
        /// </summary>
        public static readonly log4net.ILog Loginfo = log4net.LogManager.GetLogger("loginfo");
        /// <summary>
        ///  靜態只讀實體對象error信息
        /// </summary>
        public static readonly log4net.ILog Logerror = log4net.LogManager.GetLogger("logerror");

        /// <summary>
        ///  添加info信息
        /// </summary>
        /// <param name="info">自定義日誌內容說明</param>
        public static void WriteLog(string info)
        {
            try
            {
                if (Loginfo.IsInfoEnabled)
                {
                    Loginfo.Info(info);
                }
            }
            catch { }
        }


        /// <summary>
        /// 添加異常信息
        /// </summary>
        /// <param name="info">自定義日誌內容說明</param>
        /// <param name="ex">異常信息</param>
        public static void WriteLog(string info, Exception ex)
        {
            try
            {
                if (Logerror.IsErrorEnabled)
                {
                    Logerror.Error(info, ex);
                }
            }
            catch { }
        }
    }
}
 

 

 

 

操作步驟:

到官網http://logging.apache.org/log4net/download_log4net.cgi下載Log4Net.dll
找到log4net.dll動態庫,在程序中添加引用。如圖所示:


配置,具體可以參考這篇博客:https://www.cnblogs.com/lsgsanxiao/p/5845300.html
我的配置如下,測試可以直接把以下配置粘貼到App.config中:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<configSections>

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />

</configSections>

<log4net>

<logger name="logerror">

<level value="ERROR" />

<appender-ref ref="ErrorAppender" />

</logger>

<logger name="loginfo">

<level value="INFO" />

<appender-ref ref="InfoAppender" />

</logger>

<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">

<!--設置日誌存儲路徑-->

<param name="File" value="Data//WebLog//LogError//" />

<!--是否追加到文件-->

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

<!--最多產生的日誌文件數,超過則只保留最新的n個。設定值value="-1"爲不限文件數-->

<param name="MaxSizeRollBackups" value="100" />

<param name="MaxFileSize" value="1024" />

<!--是否只寫到一個文件中-->

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

<!--這是按日期產生文件夾,並在文件名前也加上日期-->

<param name="DatePattern" value="yyyyMMdd/yyyyMMdd&quot;.log&quot;"/>

 

<!--按照何種方式產生多個日誌文件(日期[Date],文件大小[Size],混合[Composite])-->

<param name="RollingStyle" value="Date" />

<layout type="log4net.Layout.PatternLayout">

<param name="ConversionPattern" value="%n異常時間:%d [%t] %n異常級別:%-5p %n異常位置:[%thread] (%file:%line) %n消息描述:%message%n異常:%exception%n%n " />

</layout>

</appender>

<appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">

<!--設置日誌存儲路徑-->

<param name="File" value="Data//WebLog//LogInfo//" />

<!--是否追加到文件-->

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

<!--最多產生的日誌文件數,超過則只保留最新的n個。設定值value="-1"爲不限文件數-->

<param name="MaxSizeRollBackups" value="100" />

<param name="MaxFileSize" value="1024" />

<!--是否只寫到一個文件中-->

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

<!--這是按日期產生文件夾,並在文件名前也加上日期-->

<param name="DatePattern" value="yyyyMM/dd&quot;.log&quot;" />

<!--按照何種方式產生多個日誌文件(日期[Date],文件大小[Size],混合[Composite])-->

<param name="RollingStyle" value="Date" />

<layout type="log4net.Layout.PatternLayout">

<param name="ConversionPattern" value="%n日誌時間:%d [%t] %n日誌級別:%-5p %n消息描述:%c [%x] %n%m %n " />

</layout>

</appender>

</log4net>

</configuration>

 

在程序中使用

log4net.Config.XmlConfigurator.Configure();

//對應loginfo配置

log4net.ILog log = log4net.LogManager.GetLogger("loginfo");//獲取一個日誌記錄器

for (int i = 0; i < 100; i++)

{

log.Info(DateTime.Now.ToString() + ": loginfo" + i);//寫入一條新log

}

//對應logerror配置

log4net.ILog logerr = log4net.LogManager.GetLogger("logerror");

for (int i = 0; i < 100; i++)

{

logerr.Error(DateTime.Now.ToString() + ": logerror" + i);//寫入一條新log

}

 

輸出結果如下:



原文鏈接:https://blog.csdn.net/whz1571443359/article/details/79811343

發佈了37 篇原創文章 · 獲贊 119 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章