Net Core教程

Asp.net core 之Log4net

本文主要是介绍Asp.net core 之Log4net,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

在查了一个下午的资料后,我很想把题目改成Asp.net core之坑1,后面应该还有坑2,坑3...

因为我是安装最新出来的VS2022,.net core 6.0. 和网上说的不一样,连Startup默认也没有,启动的program.cs里也不一样,干脆不管那一套了,直接用自己的老方法:

1.建立一个utils类,里面用静态方法:

public class Utils
    {
        public static ILog Logger;
        private static Object _lockObj = new Object();
     

        static Utils()
        {
            
            InitLog(@"xxxxxxxx\AspNETCore_MVC\app.config");
        }

       
        #region 公共方法
        public static void InitWebLog(string configFile)
        {
            if (File.Exists(configFile))
            {
                XmlConfigurator.Configure(new FileInfo(configFile));
                Logger = LogManager.GetLogger("root");
                Logger.Info("Application started...");
            }
        }

        public static void InitLog(string execFileName)
        {
            string configFile = execFileName ;
            if(File.Exists(configFile))
            {
                XmlConfigurator.Configure(new FileInfo(configFile));
                Logger = LogManager.GetLogger("root");
                Logger.Info("Application started...");
            }
        }

}

再生成一个web.config文件(默认是没有的),在里面按老方法加上log4.net的配置节。

在controller里调用这个Utils的方法即可:

 public class StudentController : Controller
    {
        public IActionResult Index()
        {


            Utils.Logger.Info("Student controller started..");

          .......

         }

}

当然还要安装Log4net,我是通过Nuget安装的,Log4net 2.2。

个人感觉不知为什么asp.net core6.0把启动的方法,参数都改了?这样改来改去有什么意义?

这篇关于Asp.net core 之Log4net的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!