.net core 使用 log4net


1 新建 .net 6 webapi 项目

2 安装nuget包 log4net

3 新建工具类 Log4NetUtil

添加引用

using System.IO;
using log4net;
using log4net.Config;
using log4net.Repository;

    public class Log4NetUtil
    {
        private static ILoggerRepository _repository;
        private static ILog _log;

        private static ILog log
        {
            get
            {
                if (_log == null)
                {
                    Configure();
                }
                return _log;
            }
        }

        public static void Configure(string repositoryName = "NETCoreRepository", string configFile = "log4net.config")
        {
            _repository = LogManager.CreateRepository(repositoryName);
            XmlConfigurator.Configure(_repository, new FileInfo(configFile));
            _log = LogManager.GetLogger(repositoryName, "");
        }

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

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

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

4 添加 log4net.config 配置文件

<?xml version="1.0" encoding="utf-8" ?>

  
  
    "ConsoleAppender" type="log4net.Appender.ConsoleAppender">
      "log4net.Layout.PatternLayout" value="%date [%thread] %-5level %newline%message%newline%newline" />
    
    
    "FileAppender" type="log4net.Appender.FileAppender">
      "log-file.log" />
      "true" />
      "log4net.Layout.PatternLayout">
        "%date [%thread] %-5level %newline%message%newline%newline" />
      
    

    "RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      "log4file/" />
      "true" />
      "Composite" />
      "false" />
      "yyyyMMdd'.log'" />
      "10" />
      "10MB" />
      "log4net.Layout.PatternLayout">
        "%date [%thread] %-5level %newline%message%newline%newline" />
      
    

    
    
      "ALL" />
      ref ref="ConsoleAppender" />
      ref ref="FileAppender" />
      ref ref="RollingLogFileAppender" />
    

  

设置 log4net.config 文件属性

 5 测试

写日志代码

        public IEnumerable Get()
        {
            Log4NetUtil.Info("这是 info");
            Log4NetUtil.Warn("这是 Warn");
            Log4NetUtil.Error("这是 Error");

            return Enumerable.Range(1, 5).Select(index => new WeatherForecast
            {
                Date = DateTime.Now.AddDays(index),
                TemperatureC = Random.Shared.Next(-20, 55),
                Summary = Summaries[Random.Shared.Next(Summaries.Length)]
            })
            .ToArray();
        }

5.1 debug模式下查看日志,进入 bin\Debug\net6.0\log4file 目录下

 

 5.2 发布运行后查看方式

参考链接:https://www.cnblogs.com/zhengyb/p/13859090.html