.Net Core3.1 集成Log4net

1 篇文章 0 订阅

准备

第一步:nuget 引用  Microsoft.Extensions.Logging.Log4Net.AspNetCore

第二步:在项目中添加log4net.config的配置文件(配置文件在文末)

第三步:在项目中注册使用log4net

方法一:在Program.cs中注册,找到 Program.cs里的CreateHostBuilder

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)                
        .ConfigureLogging((context, loggingBuilder) =>
        {
            loggingBuilder.AddFilter("System", LogLevel.Warning);
            loggingBuilder.AddFilter("Microsoft", LogLevel.Warning);                   
            loggingBuilder.AddLog4Net();//配置文件,如果名字叫log4net.config,在根目录则可以不指定路径
        })                
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
        });

方法二:在Startup中注册,将program中的注册换成在startup中的config注册Log4Net

public void Configure(IApplicationBuilder app, IWebHostEnvironment env,ILoggerFactory loggerFactory)
{
    loggerFactory.AddLog4Net();

    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    app.UseRouting();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers();
    });
}

注:两种方法二选一,两种方法都注册的话,日志则会重复写两条

附:log4net.config配置文件

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
  <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
    <!--日志路径-->
    <param name="File" value="Logs\\" />
    <!--是否是向文件中追加日志-->
    <param name= "AppendToFile" value= "true"/>
    <!--log保留天数-->
    <param name= "MaxSizeRollBackups" value= "30"/>
    <!--日志文件名是否是固定不变的-->
    <param name= "StaticLogFileName" value= "false"/>
    <!--日志文件名格式为:2008-08-31.log-->
    <param name= "DatePattern" value= "yyyy-MM-dd&quot;.read.log&quot;"/>
    <!--日志根据日期滚动-->
    <param name= "RollingStyle" value= "Date"/>
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%n==========%n【日志级别】:%-5level%n【记录时间】:%date %n【执行时间】:[%r]毫秒%n【信息详情】%message%n" />
    </layout>
  </appender>

  <!-- 控制台前台显示日志 -->
  <appender name="ManagedColoredConsoleAppender" type="log4net.Appender.ManagedColoredConsoleAppender">
    <mapping>
      <level value="ERROR" />
      <foreColor value="Red" />
    </mapping>
    <mapping>
      <level value="WARN" />
      <foreColor value="Yellow" />
    </mapping>
    <mapping>
      <level value="INFO" />
      <foreColor value="White" />
    </mapping>
    <mapping>
      <level value="DEBUG" />
      <foreColor value="Green" />
    </mapping>
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%d{ABSOLUTE} [%thread] %-5p %c{1}:%L - %m%n" />
    </layout>   
  </appender>

  <root>
    <!--(高) OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL (低)--> 
    <level value="all" />
    <appender-ref ref="ManagedColoredConsoleAppender"/>
    <appender-ref ref="RollingLogFileAppender"/>
  </root>
</log4net>

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胡老汉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值