Asp.Net.Core5 引入log4net


Asp.Net.Core5 引入log4net

 

1,nuget引入程序集 log4Net

2,nuget引入程序集 Microsoft.Extensions.Logging.Log4Net.AspNetCore

3,配置文件  log4net.Config

4,記錄日志

 

1,log4Net包安裝

 

 

 

2,Microsoft.Extensions.Logging.Log4Net.AspNetCore  擴展包安裝

 

 

 

3,配置文件   log4net.Config

<?xml version="1.0" encoding="utf-8"?>
<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="yyyyMM/yyyy-MM-dd.log" />

        <!--日志最大個數,都是最新的-->
        <!--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="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>

 

 

4,修改配置文件屬性為【始終復制】

7

 

5,Program.cs 增加log4Net配置文件

 public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
            //配置log4Net配置文件
            .ConfigureLogging(loggingBuilder => { loggingBuilder.AddLog4Net("CfgFiles/log4net.Config"); }) 
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });

 

 

6,記錄日志

 private readonly ILogger<HomeController> _logger;
      
        public HomeController(ILogger<HomeController> logger)
        {
            _logger = logger;
        }

 

 public IActionResult Params(int? id)
        {
            _logger.LogInformation("配置log4Net日志記錄");
            _logger.LogWarning("警告信息");
            _logger.LogError("錯誤信息");
            return View();

        }

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM