第一步:在项目中添加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文件夹,里面多了一个日志文件。
嗯...... 小伙伴们,学会了吗?就是这么简单