第一步:在項目中添加NuGet包
Microsoft.Extensions.Logging.Log4Net.AspNetCore
第二步:增加配置文件 log4net.config (在Web項目或WebApi項目的根目錄上增加)
1 <?xml version="1.0" encoding="utf-8"?> 2 <log4net> 3 <!-- Define some output appenders --> 4 <appender name="rollingAppender" type="log4net.Appender.RollingFileAppender"> 5 <file value="log\log.txt" /> 6 <!--追加日志內容--> 7 <appendToFile value="true" /> 8 9 <!--防止多線程時不能寫Log,官方說線程非安全--> 10 <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 11 12 <!--可以為:Once|Size|Date|Composite--> 13 <!--Composite為Size和Date的組合--> 14 <rollingStyle value="Composite" /> 15 16 <!--當備份文件時,為文件名加的后綴--> 17 <datePattern value="yyyyMMdd.TXT" /> 18 19 <!--日志最大個數,都是最新的--> 20 <!--rollingStyle節點為Size時,只能有value個日志--> 21 <!--rollingStyle節點為Composite時,每天有value個日志--> 22 <maxSizeRollBackups value="20" /> 23 24 <!--可用的單位:KB|MB|GB--> 25 <maximumFileSize value="3MB" /> 26 27 <!--置為true,當前最新日志文件名永遠為file節中的名字--> 28 <staticLogFileName value="true" /> 29 30 <!--輸出級別在INFO和ERROR之間的日志--> 31 <filter type="log4net.Filter.LevelRangeFilter"> 32 <param name="LevelMin" value="ALL" /> 33 <param name="LevelMax" value="FATAL" /> 34 </filter> 35 <layout type="log4net.Layout.PatternLayout"> 36 <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/> 37 </layout> 38 </appender> 39 <root> 40 <priority value="ALL"/> 41 <level value="ALL"/> 42 <appender-ref ref="rollingAppender" /> 43 </root> 44 </log4net>
第三步:替換系統的默認日志組件
修改 Program.cs 文件,新增的關鍵代碼如下:
.ConfigureLogging(LoggingBuilder=> {
LoggingBuilder.AddLog4Net();
})
如下圖所示:
第四步 開始使用,使用IOC注入,注入后便可使用,如下圖所示:
啟動項目發現web項目下創建了一個log文件夾,里面多了一個日志文件。
嗯...... 小伙伴們,學會了嗎?就是這么簡單