1. 程式人生 > 其它 >C# log4net 配置以及使用方法(winform)

C# log4net 配置以及使用方法(winform)

技術標籤:程式設計c#asp.net後端

私人部落格地址:https://www.01zhp.com/154.html

一、下載並引用log4net.dll

在NuGet裡面搜尋 log4net 直接安裝即可

二、編寫通用類(名稱空間自行替換)

using log4net;
using System.Diagnostics;
using System.Reflection;

namespace InformationApp
{
    public class LogHelper
    {
        private static readonly ILog logInfo = LogManager.GetLogger("Log");
        private static readonly ILog logErr = LogManager.GetLogger("Err");
        /// <summary>
        /// 記錄正常的訊息
        /// </summary>
        /// <param name="msg">訊息內容</param>
        public static void info(string msg)
        {
            logInfo.Info(msg);
        }
        /// <summary>
        /// 記錄異常資訊
        /// </summary>
        /// <param name="msg">異常資訊內容</param>
        public static void error(string msg)
        {
            StackTrace stackTrace = new StackTrace();
            StackFrame stackFrame = stackTrace.GetFrame(1);
            MethodBase methodBase = stackFrame.GetMethod();
            logErr.Error("類名:" + methodBase.ReflectedType.Name + " 方法名:" + methodBase.Name + " 資訊:" + msg);
        }
    }
}

三、編寫配置檔案(winform App.config)

<configuration>節點下面新增

<configSections>
		<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
		<logger name="Log">
			<level value="INFO" />
			<appender-ref ref="RollingLog" />
		</logger>
		<logger name="Err">
			<level value="ERROR" />
			<appender-ref ref="RollingErr" />
		</logger>
		<appender name="RollingLog" type="log4net.Appender.RollingFileAppender">
			<file value="InformationAppLog" />
			<appendToFile value="true" />
			<rollingStyle value="Date" />
			<datePattern value="yyyyMMdd'.txt'" />
			<!--設定無限備份=-1 ,最大備份數為1000-->
			<param name="MaxSizeRollBackups" value="200"/>
			<!--每個檔案的大小-->
			<param name="MaximumFileSize" value="2048KB"/>
			<staticLogFileName value="false" />
			<layout type="log4net.Layout.PatternLayout">
				<conversionPattern value="記錄時間:%d 執行緒ID:[%thread]- 操作資訊:%m%n" />
			</layout>
			<filter type="log4net.Filter.LevelRangeFilter">
				<param name="LevelMin" value="INFO" />
				<param name="LevelMax" value="INFO" />
			</filter>
		</appender>
		<appender name="RollingErr" type="log4net.Appender.RollingFileAppender">
			<file value="InformationAppErr" />
			<appendToFile value="true" />
			<rollingStyle value="Date" />
			<datePattern value="yyyyMMdd'.txt'" />
			<!--設定無限備份=-1 ,最大備份數為1000-->
			<param name="MaxSizeRollBackups" value="200"/>
			<!--每個檔案的大小-->
			<param name="MaximumFileSize" value="2048KB"/>
			<staticLogFileName value="false" />
			<layout type="log4net.Layout.PatternLayout">
				<conversionPattern value="記錄時間:%d 執行緒ID:[%thread]- 錯誤描述:%m%n" />
			</layout>
			<filter type="log4net.Filter.LevelRangeFilter">
				<param name="LevelMin" value="ERROR" />
				<param name="LevelMax" value="ERROR" />
			</filter>
		</appender>
	</log4net>

四、配置

AssemblyInfo檔案下面

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

五、呼叫

LogHelper.info("登入成功!");
LogHelper.error("http獲取資料發生錯誤:" + ex.Message);

C#  log4net 配置以及使用方法(winform)