.net 6 中使用Log4Net 方式 winform

首先NuGet 添加Log4Net引用

 

 

1.直接添加一个帮助类

using log4net;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//文件里添加下面代码,让程序启动时是找到Log4net.config配置文件
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = false)]
namespace DDD.WinForm
{
    public static class Log4NetHelper
    {
        static readonly ILog _logger = LogManager.GetLogger("loginfo");
        public static void Info(string message)
        {
            _logger.Info(message);
        }

        public static void Debug(string message)
        {
            _logger.Debug(message);
        }

        public static void Warn(string message)
        {
            _logger.Warn(message);
        }

        public static void Error(string message)
        {
            _logger.Error(message);
        }
    }
}

 2.根目录新建一个log4net.config 配置为使用复制

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
	<logger name="logerror">
		<!--日志类的名字-->
		<level value="ALL" />
		<!--定义记录的日志级别-->
		<appender-ref ref="ErrorAppender" />
		<!--记录到哪个介质中去-->
	</logger>
	<!--信息日志类-->
	<logger name="loginfo">
		<level value="ALL" />
		<appender-ref ref="InfoAppender" />
	</logger>
	<appender name="DebugAppender" type="log4net.Appender.DebugAppender" >
		<layout type="log4net.Layout.PatternLayout">
			<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
		</layout>
	</appender>
	<!--指定日记记录方式,以滚动文件的方式(文件记录)-->
	<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
		<!--日志路径-->
		<file value="log/" />
		<!--是否是向文件中追加日志-->
		<appendToFile value="true" />
		<!--log保留天数-->
		<param name= "MaxSizeRollBackups" value= "10"/>
		<!--每个文件最大1M-->
		<param name="maximumFileSize" value="1MB" />
		<!--日志根据日期滚动-->
		<param name="RollingStyle" value="Date" />
		<!--日志文件名格式为:logs_20080831.log-->
		<param name="DatePattern" value=""logs_"yyyyMMdd".log"" />
		<!--日志文件名是否是固定不变的-->
		<param name="StaticLogFileName" value="false" />
		<!--布局-->
		<layout type="log4net.Layout.PatternLayout">
			<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
		</layout>
	</appender>
	<root>
		<level value="ALL"/>
		<appender-ref ref="DebugAppender" />
		<appender-ref ref="RollingFile" />
	</root>
</log4net>

3.使用方法

            Log4NetHelper.Info("info");
            Log4NetHelper.Warn("warn");
            Log4NetHelper.Debug("debug");
            Log4NetHelper.Error("error");

4.效果

 

posted @ 2022-08-18 09:28  互联网CV工程师  阅读(729)  评论(0)    收藏  举报