C#不使用配置文件封装log4net

先使用NuGet安装log4net, 如下图
在这里插入图片描述

log4net封装类

using log4net.Appender;
using log4net.Config;
using log4net.Layout;
using log4net;

namespace test_log4net
{
    public class Logger
    {
        private static readonly ILog log = LogManager.GetLogger(typeof(Logger));

        static Logger()
        {
            var fileAppender = new FileAppender();
            string log_path = string.Empty;

#if DEBUG
            log_path = @"D:\MyLog.log";
#else
			string doc_path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

			DateTime now = DateTime.Now;
            string _date = now.ToString("yyyy-MM-dd");

            string path = doc_path + "/MyLog";

            if (!Directory.Exists(path)) {
                Directory.CreateDirectory(path);
            }

			log_path = path + "/" + _date + ".log";
#endif

            fileAppender.File = log_path;
            fileAppender.AppendToFile = true;
            fileAppender.Layout = new PatternLayout("{%date [%thread] %-5level} - %message%newline");
            fileAppender.ActivateOptions();

            // 设置log等级
            fileAppender.Threshold = log4net.Core.Level.All;

            BasicConfigurator.Configure(fileAppender);
        }

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

        // 格式化输出log
        public static void Debug(string format, params object[] args)
        {
            log.DebugFormat(format, args);
        }

        public static void Info(string message)
        {
            log.Info(message);
        }

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

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

        public static void Fatal(string message)
        {
            log.Fatal(message);
        }
    }
}

测试类

using log4net.Repository.Hierarchy;

namespace test_log4net
{
    class Test
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Test Log4net");

            Logger.Debug("2023 01");
            Logger.Info("2023 02");
            Logger.Warn("2023 03");
            Logger.Error("2023 04");
        }
    }
}

运行后在D盘会生成log文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

令狐掌门

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值