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