二、 首先控制器的方法中寫:
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; 完成後就可以了!!