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

私人博客地址: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)

猜你喜欢

转载自blog.csdn.net/LAnubis/article/details/113173971
今日推荐