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文件夹