log4net配置使用


到nuget里下载log4net

 这里为帮组类 可以改为静态方法 

        private static ILog logger;
        static LogImp()//这个是构造函数
        {
            if (logger == null)
            {
                var repository = LogManager.CreateRepository("WebApplication1");///这里改为项目名称
                //指定配置文件
                XmlConfigurator.Configure(repository, new FileInfo("log4net.config"));
                lock (locker)
                {
                    if (logger == null)
                    {
                        lock (locker)
                            logger = LogManager.GetLogger(repository.Name, "RollingLogFileAppender");
                    }
                }

            }
        }
  /// 
        /// 调试信息
        /// 
        /// 
        /// 
        public void Debug(string message, Exception exception = null)
        {

            if (exception == null)
                logger.Debug(message);
            else
                logger.Debug(FormartLog(message, exception));

        }
        /// 
        /// 一般信息
        /// 
        /// 
        /// 
        public void Info(string message, Exception exception = null)
        {

            if (exception == null)
                logger.Info(message);
            else
                logger.Info(FormartLog(message, exception));
        }

        /// 
        /// 警告
        /// 
        /// 
        /// 
        public void Warn(string message, Exception exception = null)
        {

            if (exception == null)
                logger.Warn(message);
            else
                logger.Warn(FormartLog(message, exception));

        }

        /// 
        /// 一般错误
        /// 
        /// 
        /// 
        public void Error(string message, Exception exception = null)
        {

            if (exception == null)
                logger.Error(message);
            else
                logger.Error(FormartLog(message, exception));
        }


        /// 
        /// 致命错误
        /// 
        /// 
        /// 
        public void Fatal(string message, Exception exception = null)
        {

            if (exception == null)
                logger.Fatal(message);
            else
                logger.Fatal(FormartLog(message, exception));

        }


        /// 
        /// 自定义返回格式
        /// 
        /// 
        /// 
        /// 
        private static string FormartLog(string throwMsg, Exception ex)
        {
            return string.Format("【错误地点】:{0} \r\n【异常类型】:{1} \r\n【异常信息】:{2} \r\n【堆栈调用】:{3}", new object[] { throwMsg, ex.GetType().Name, ex.Message, ex.StackTrace });
        }

然后打开项目在webapi下面安装Microsoft.Extensions.Logging.Log4Net.AspNetCore

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

    
        
"log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> "RollingFileDebug" type="log4net.Appender.RollingFileAppender"> "Log\\Debug\" /> "true" /> "MaxFileSize" value="10240"/> "MaxSizeRollBackups" value="100"/> "log4net.Appender.FileAppender+MinimalLock" /> "Date" /> "yyyy-MM-dd_HH'.log'" /> "false" /> "log4net.Layout.PatternLayout"> "【异常时间】:%date【线程ID】:%thread%newline【异常级别】:%5level%newline%message%newline--------------------------------------------------------------------%newline" /> "log4net.Filter.LevelRangeFilter"> "LevelMin" value="Debug" /> "LevelMax" value="Debug" /> "RollingFileInfo" type="log4net.Appender.RollingFileAppender"> "Log\\Info\\" /> "true" /> "MaxFileSize" value="10240"/> "MaxSizeRollBackups" value="100"/> "log4net.Appender.FileAppender+MinimalLock" /> "Date" /> "yyyy-MM-dd_HH'.log'" /> "false" /> "log4net.Layout.PatternLayout"> "【异常时间】:%date【线程ID】:%thread%newline【异常级别】:%5level%newline%message%newline--------------------------------------------------------------------%newline" /> "log4net.Filter.LevelRangeFilter"> "LevelMin" value="Info" /> "LevelMax" value="Info" /> "RollingFileWarn" type="log4net.Appender.RollingFileAppender"> "Log\\Warn\\" /> "true" /> "MaxFileSize" value="10240"/> "MaxSizeRollBackups" value="100"/> "log4net.Appender.FileAppender+MinimalLock" /> "Date" /> "yyyy-MM-dd_HH'.log'" /> "false" /> "log4net.Layout.PatternLayout"> "【异常时间】:%date【线程ID】:%thread%newline【异常级别】:%5level%newline%message%newline--------------------------------------------------------------------%newline" /> "log4net.Filter.LevelRangeFilter"> "LevelMin" value="Warn" /> "LevelMax" value="Warn" /> "RollingFileError" type="log4net.Appender.RollingFileAppender"> "Log\\Error\\" /> "true" /> "MaxFileSize" value="10240"/> "MaxSizeRollBackups" value="100"/> "log4net.Appender.FileAppender+MinimalLock" /> "Date" /> "yyyy-MM-dd_HH'.log'" /> "false" /> "log4net.Layout.PatternLayout"> "【异常时间】:%date【线程ID】:%thread%newline【异常级别】:%5level%newline%message%newline--------------------------------------------------------------------%newline" /> "log4net.Filter.LevelRangeFilter"> "LevelMin" value="Error" /> "LevelMax" value="Error" /> "RollingFileFatal" type="log4net.Appender.RollingFileAppender"> "Log\\Fatal\\" /> "true" /> "MaxFileSize" value="10240"/> "MaxSizeRollBackups" value="100"/> "log4net.Appender.FileAppender+MinimalLock" /> "Date" /> "yyyy-MM-dd_HH'.log'" /> "false" /> "log4net.Layout.PatternLayout"> "【异常时间】:%date【线程ID】:%thread%newline【异常级别】:%5level%newline%message%newline--------------------------------------------------------------------%newline" /> "log4net.Filter.LevelRangeFilter"> "LevelMin" value="Fatal" /> "LevelMax" value="Fatal" /> "RollingLogFileAppender"> "ALL" /> ref ref="RollingFileDebug" /> ref ref="RollingFileInfo" /> ref ref="RollingFileWarn" /> ref ref="RollingFileError" /> ref ref="RollingFileFatal" />

这个分类分等级了

 改为始终复制 运行项目进行日志使用 就会发现在项目文件夹下\bin\Debug\net6.0发现log文件夹