ASP.NET CORE3 配置log4net 日志

在微软发布的ASP.NET Core 中给了一种默认的日志配置选择,那么当我们使用其他的日志中间件是如何配置呢?如下:

1、使用NutGet 获取日志库:Microsoft.Extensions.Logging.Log4Net.AspNetCore  和 Log4Net库

2、配置Program.cs

1public class Program 2 { 3 public static void Main(string[] args) 4 { 5 CreateHostBuilder(args).Build().Run(); 6 } 7 8 public static IHostBuilder CreateHostBuilder(string[] args) => 9 Host.CreateDefaultBuilder(args) 10 .ConfigureWebHostDefaults(webBuilder => 11 { 12 webBuilder.UseStartup<Startup>(); 13 }) 14 .ConfigureLogging((hosttingContext,logging)=> 15 { 16 logging.AddFilter("System", LogLevel.Warning); 17 logging.AddFilter("Microsoft", LogLevel.Warning); 18 logging.AddLog4Net(); 19 }) 20 21 ; 22 }

 3、配置Startup.cs文件

1 public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory) 2 { 3 if (env.IsDevelopment()) 4 { 5 app.UseDeveloperExceptionPage(); 6 } 7 else 8 { 9 app.UseExceptionHandler("/Home/Error"); 10 // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. 11 app.UseHsts(); 12 } 13 loggerFactory.AddLog4Net(); 14 app.UseHttpsRedirection(); 15 app.UseStaticFiles(); 16 17 app.UseRouting(); 18 19 app.UseAuthorization(); 20 21 app.UseEndpoints(endpoints => 22 { 23 endpoints.MapControllerRoute( 24 name: "default", 25 pattern: "{controller=Home}/{action=Index}/{id?}"); 26 }); 27 }

3、新建配置文件:

1<?xml version="1.0" encoding="utf-8" ?> 2<log4net> 3 <appender name="DebugAppender" type="log4net.Appender.DebugAppender" > 4 <layout type="log4net.Layout.PatternLayout"> 5 <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> 6 </layout> 7 </appender> 8 <!--指定日记记录方式,以滚动文件的方式(文件记录)--> 9 <appender name="RollingFile" type="log4net.Appender.RollingFileAppender"> 10 <!--日志路径--> 11 <file value="Log/" /> 12 <!--是否是向文件中追加日志--> 13 <appendToFile value="true" /> 14 <!--log保留天数--> 15 <param name= "MaxSizeRollBackups" value= "10"/> 16 <!--每个文件最大1M--> 17 <param name="maximumFileSize" value="1MB" /> 18 <!--日志根据日期滚动--> 19 <param name="RollingStyle" value="Date" /> 20 <!--日志文件名格式为:logs_20080831.log--> 21 <param name="DatePattern" value="&quot;logs_&quot;yyyyMMdd&quot;.log&quot;" /> 22 <!--日志文件名是否是固定不变的--> 23 <param name="StaticLogFileName" value="false" /> 24 <!--布局--> 25 <layout type="log4net.Layout.PatternLayout"> 26 <conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" /> 27 </layout> 28 </appender> 29 <root> 30 <level value="ALL"/> 31 <appender-ref ref="DebugAppender" /> 32 <appender-ref ref="RollingFile" /> 33 </root> 34</log4net>
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

ASP.NET CORE3 配置log4net 日志 - HelloWorld