.NET6在WebApi中使用日志組件log4net
1、安裝依賴
Microsoft.Extensions.Logging.Log4Net.AspNetCore
2、配置文件
<?xml version="1.0" encoding="utf-8" ?> <configuration> <!-- This section contains the log4net configuration settings --> <log4net> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout" value="%date [%thread] %-5level %logger - %message%newline" /> </appender> <appender name="FileAppender" type="log4net.Appender.FileAppender"> <file value="log-file.log" /> <appendToFile value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> </layout> </appender> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="LogFile/Error/" /> <appendToFile value="true" /> <rollingStyle value="Composite" /> <staticLogFileName value="false" /> <datePattern value="yyyyMMdd'.log'" /> <maxSizeRollBackups value="10" /> <maximumFileSize value="1MB" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="ERROR" /> <!--配置該節點會監聽的日志錯誤級別--> <levelMax value="FATAL" /> </filter> </appender> <appender name="WarnRollingFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="LogFile/Warn/" /> <appendToFile value="true" /> <rollingStyle value="Date"/> <datePattern value="yyyy-MM-dd'.log'"/> <maxSizeRollBackups value="100" /> <staticLogFileName value="false" /> <encoding value="utf-8" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%newline%date [%thread %-5level] %n -- %m%n" /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="WARN" /> <levelMax value="WARN" /> </filter> </appender> <appender name="InfoRollingFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="LogFile/Info/" /> <appendToFile value="true" /> <rollingStyle value="Date"/> <datePattern value="yyyy-MM-dd'.log'"/> <maxSizeRollBackups value="100" /> <staticLogFileName value="false" /> <encoding value="utf-8" /> <layout type="log4net.Layout.PatternLayout"> <!--<conversionPattern value="%newline%date [%thread %-5level] %n %m%n" />--> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="TRACE " /> <levelMax value="INFO" /> </filter> </appender> <!-- Setup the root category, add the appenders and set the default level --> <root> <level value="ALL" /> <appender-ref ref="ConsoleAppender" /> <appender-ref ref="FileAppender" /> <appender-ref ref="RollingLogFileAppender" /> <appender-ref ref="WarnRollingFileAppender" /> <appender-ref ref="InfoRollingFileAppender" /> </root> </log4net> </configuration>
3、註冊組件
Program.cs文件中
ILoggerRepository repository = LogManager.CreateRepository("NETCoreRepository"); XmlConfigurator.Configure(repository, new FileInfo("log4net.config"));
4、使用
/// <summary> /// 日志 /// </summary> public ILog log = LogManager.GetLogger("NETCoreRepository", this.GetType());
文件生成在項目bin\Debug\net6.0\LogFile\目錄下
到此這篇關於.NET6在WebApi中使用日志組件log4net的文章就介紹到這瞭。希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。