asp.net core3.1中用log4net工具类打印日志到txt文件中

1、创建类库(例如CommonTools),引用log4net包,如下图:

asp.net core3.1中用log4net工具类打印日志到txt文件中_第1张图片

 

2、写工具类(我这里是LogHelper,可自定义),代码如下:

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

namespace CommonTools.Log4net
{
    public static class LogHelper
    {
        private static readonly ILoggerRepository Repository = LogManager.CreateRepository("NETCoreRepository");
        private static readonly ILog Log = LogManager.GetLogger(Repository.Name, "NETCorelog4net");

        /// 
        /// 构造方法
        /// 
        static LogHelper()
        {
            XmlConfigurator.Configure(Repository, new FileInfo("log4net.config"));
        }

        /// 
        /// 写日志
        /// 
        /// 
        /// 
        public static void Info(string message)
        {
            Log.Info(message);
        }

        /// 
        /// 写错误日志
        /// 
        /// 
        /// 
        public static void Error(Exception ex, string message = null)
        {
            if (string.IsNullOrEmpty(message))
                message = ex.Message;

            Log.Error(message, ex);
        }

        /// 
        /// 写错误日志
        /// 
        /// 
        public static void Error(string message)
        {
            Log.Error(message);
        }
    }
}

 

3、在需要使用日志的应用项目的根目录添加log4net.config配置文件,如下:



  
    

 

4、使用(例如在mvc中使用,引用类库CommonTools、添加log4net.config配置文件),代码如下:

using Microsoft.AspNetCore.Mvc;
using CommonTools.Log4net;

namespace Admin.Controllers
{
    public class HomeController : BaseController
    {
        public ActionResult Index()
        {
            LogHelper.Error("123");
            return View();
        }
    }
}

LogHelper.Error("123")即可,非常方便,在webapi、控制台程序等项目中一样通用。

 

5、我是把日志输出到C盘的logfiles文件夹下,如下图:

asp.net core3.1中用log4net工具类打印日志到txt文件中_第2张图片

你可能感兴趣的:(asp.net,core,log4net,C#,log4net,.net,core)