.net 6 中使用Log4Net 方式 winform

首先NuGet 添加Log4Net引用

 

 

1.直接添加一个帮助类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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 配置为使用复制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?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.使用方法

1
2
3
4
Log4NetHelper.Info("info");
Log4NetHelper.Warn("warn");
Log4NetHelper.Debug("debug");
Log4NetHelper.Error("error");

4.效果

 

posted @   互联网CV工程师  阅读(711)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示