首先nuget添加下引用  Microsoft.Extensions.Logging.Log4Net.AspNetCore

目前的版本为v3.1.0 ,添加完成后我们开始注册。

 

2.注册

  2.1在Program.cs中注册

       找到 Program.cs里的CreateHostBuilder

        

        .Net Core3.1 集成Log4net

      添加如上代码,,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>
log4net.Config

相关文章: