首先nuget添加下引用 Microsoft.Extensions.Logging.Log4Net.AspNetCore
目前的版本为v3.1.0 ,添加完成后我们开始注册。
2.注册
2.1在Program.cs中注册
找到 Program.cs里的CreateHostBuilder
添加如上代码,,AddFilter() 的意思是过滤掉指定的相关日志。
注意:此处CreateHostBuilder在版本中不一致。
最后添加上配置文件就ok,附上配置文件:
<?xml version="1.0" encoding="utf-8"?> <log4net> <!-- Define some output appenders --> <appender name="rollingAppender" type="log4net.Appender.RollingFileAppender"> <file value="logs\log.txt" /> <!--追加日志内容--> <appendToFile value="true" /> <!--防止多线程时不能Log,官方说线程非安全--> <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> <!--可以为:Once|Size|Data|Compsite--> <!--Compsite为Size和Data的组合--> <rollingStyle value="Composite" /> <!--当备份文件时,为文件名加的后缀--> <datePattern value="yyyyMMdd'.log'" /> <!--日志的最大个数,都是最新的--> <!--rollingStyle为Size时,只能有value个日志--> <!--rollingStyle为Compsite时,每天有value个日志--> <maxSizeRollBackups value="20" /> <!--可用的单位:KB|MB|GB--> <maximumFileSize value="3MB" /> <!--值为true时,当前最新日志文件名永远为file节点中的名字--> <staticLogFileName value="true" /> <!--输出级别在INFO和ERROR之间的日志--> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="ALL" /> <param name="LevelMax" value="FATAL" /> </filter> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> </layout> </appender> <root> <priority value="ALL" /> <level value="ALL" /> <appender-ref ref="rollingAppender" /> </root> </log4net>