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把启动的方法,参数都改了?这样改来改去有什么意义?

上一篇:方法封装(打开网址与关闭浏览器)


下一篇:linux 快速安装docker