Asp.Net Core3.1 使用Log4net記錄日志


第一步:在項目中添加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文件夾,里面多了一個日志文件。

嗯...... 小伙伴們,學會了嗎?就是這么簡單

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM