二、 首先控制器的方法中寫:

private readonly ILogger<fluueController> _logger;    

public fluueController(ILogger<fluueController> logger){

_logger =logger;

}

引入名稱空間:using Microsoft.Extensions.Logging;

其次:新增一個配置檔案,配置檔案的內容是:

<log4net>

  <!-- Define some output appenders -->

  <appender name="rollingAppender" type="log4net.Appender.RollingFileAppender">

    <file value="log\log.txt" />

    <!--追加日誌內容-->

    <appendToFile value="true" />

    <!--防止多執行緒時不能寫Log,官方說執行緒非安全-->

    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />

    <!--可以為:Once|Size|Date|Composite-->

    <!--Composite為Size和Date的組合-->

    <rollingStyle value="Composite" />

    <!--當備份檔案時,為檔名加的字尾-->

    <datePattern value="yyyyMMdd.TXT" />

    <!--日誌最大個數,都是最新的-->

    <!--rollingStyle節點為Size時,只能有value個日誌-->

    <!--rollingStyle節點為Composite時,每天有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="INFO" />

      <param name="LevelMax" value="FATAL" />

    </filter>

    <layout type="log4net.Layout.PatternLayout">

      <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>

    </layout>

  </appender>

  <!-- levels: OFF > FATAL > ERROR > WARN > INFO > DEBUG  > ALL -->

  <root>

    <priority value="ALL"/>

    <level value="ALL"/>

    <appender-ref ref="rollingAppender" />

  </root>

</log4net>

找到mvc專案中的Program.cs類,CreateHostBuilder方法中新增

Host.CreateDefaultBuilder(args).ConfigureLogging(ILoggingBuilder=> {ILoggingBuilder.AddLog4Net();})

新增後新增get包,包的名稱:Microsoft.Extensions.Logging.Log4Net.AspNetCore

包新增後新增名稱空間:using Microsoft.Extensions.Logging; 完成後就可以了!!