.NET CORE 3.1 MVC Log4net
1 引用包:Microsoft.Extensions.Logging.Log4Net.AspNetCore
2 ILoggerFactory loggerFactory 注册 public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory) { loggerFactory.AddLog4Net(); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); }); }
3 配置log4net.config
<log4net>
<root> <level value="ALL" ref="infoAppender" /> <appender-ref ref="infoAppender" /> <appender-ref ref="errorAppender" /> <appender-ref ref="debugAppender" /> </root>
<!-- 日志的等级,它们由高到底分别为: OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL --> <!--信息日志配置--> <!--<appender name="infoAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="../../../Logs/Info/info.log" /> <param name="AppendToFile" value="false" /> <param name="MaxFileSize" value="10240" /> <param name="MaxSizeRollBackups" value="100" /> <param name="PreserveLogFileNameExtension" value="true" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyyMMdd" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="OFF" /> <param name="LevelMax" value="OFF" /> </filter> </appender>-->
<!--调试日志配置--> <!--<appender name="debugAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="../../../Logs/Debug/debug.log" /> <param name="AppendToFile" value="false" /> <param name="MaxFileSize" value="10240" /> <param name="MaxSizeRollBackups" value="100" /> <param name="PreserveLogFileNameExtension" value="true" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyyMMdd" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="OFF" /> <param name="LevelMax" value="OFF" /> </filter> </appender>-->
<!--错误日志配置--> <appender name="errorAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="../../../Logs/Error/Err.log" /> <param name="AppendToFile" value="true" /> <param name="MaxFileSize" value="10240" />Backups" value="100" /> <param name="PreserveLogFileNameExtension" value="true" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyyMMdd" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="ERROR" /> <param name="LevelMax" value="ERROR" /> </filter> </appender></log4net>
4 项目实际使用
public class HomeController : Controller { private readonly ILogger<HomeController> _logger;
public HomeController(ILogger<HomeController> logger) { _logger = logger; }
public IActionResult Privacy() { _logger.LogError("这里记录的是LogError: 您在" + DateTime.Now.ToString()+"查看了Privacy" );
return View(); }
}
5 效果展示
.NET CORE 3.1 MVC Log4net的更多相关文章
- ASP.NET CORE 1.0 MVC API 文档用 SWASHBUCKLE SWAGGER实现
from:https://damienbod.com/2015/12/13/asp-net-5-mvc-6-api-documentation-using-swagger/ 代码生成工具: https ...
- [.Net Core] 简单使用 Mvc 内置的 Ioc
简单使用 Mvc 内置的 Ioc 本文基于 .NET Core 2.0. 鉴于网上的文章理论较多,鄙人不才,想整理一份 Hello World(Demo)版的文章. 目录 场景一:简单类的使用 场景二 ...
- [.Net Core] 简单使用 Mvc 内置的 Ioc(续)
简单使用 Mvc 内置的 Ioc(续) 本文基于 .NET Core 2.0. 上一章<[.Net Core] 简单使用 Mvc 内置的 Ioc>已经对日常 Mvc 中的 Ioc 的简单用 ...
- ASP.NET Core 2.0 MVC项目实战
一.前言 毕业后入职现在的公司快有一个月了,公司主要的产品用的是C/S架构,再加上自己现在还在学习维护很老的delphi项目,还是有很多不情愿的.之前实习时主要是做.NET的B/S架构的项目,主要还是 ...
- ASP.Net Core 2.2 MVC入门到基本使用系列 (二)
本教程会对基本的.Net Core 进行一个大概的且不会太深入的讲解, 在您看完本系列之后, 能基本甚至熟练的使用.Net Core进行Web开发, 感受到.Net Core的魅力. 本教程知识点大体 ...
- ASP.Net Core 2.2 MVC入门到基本使用系列 (一)
本教程会对基本的.Net Core 进行一个大概的且不会太深入的讲解, 在您看完本系列之后, 能基本甚至熟练的使用.Net Core进行Web开发, 感受到.Net Core的魅力. 本教程知识点大体 ...
- ASP.Net Core 2.2 MVC入门到基本使用系列 (三)
本教程会对基本的.Net Core 进行一个大概的且不会太深入的讲解, 在您看完本系列之后, 能基本甚至熟练的使用.Net Core进行Web开发, 感受到.Net Core的魅力. 本教程知识点大体 ...
- ASP.Net Core 2.2 MVC入门到基本使用系列 (四)
本教程会对基本的.Net Core 进行一个大概的且不会太深入的讲解, 在您看完本系列之后, 能基本甚至熟练的使用.Net Core进行Web开发, 感受到.Net Core的魅力. 本教程知识点大体 ...
- .net core 2.0 mvc 获取配置信息
mvc_core_config *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 ...
随机推荐
- 1569: Wet Tiles
Description Alice owns a construction company in the town of Norainia, famous for its unusually dry ...
- 哈希算法解决:HDU1686 && POJ2774 && POJ3261
HDU1686 题意: 找A串在B串中的出现次数(可重叠),可用KMP做,这里只提供哈希算法做的方法 题解: 先得到A串的hash值,然后在B中枚举起点,长度为lena的子串,检验hash值是否相同就 ...
- Codeforces Round #501 (Div. 3) D. Walking Between Houses (思维,构造)
题意:一共有\(n\)个房子,你需要访问\(k\)次,每次访问的距离是\(|x-y|\),每次都不能停留,问是否能使访问的总距离为\(s\),若能,输出\(YES\)和每次访问的房屋,反正输出\(NO ...
- 洛谷 P5837 [USACO19DEC]Milk Pumping G (单源最短路,dijkstra)
题意:有一\(n\)个点,\(m\)条边的双向图,每条边都有花费和流量,求从\(1\)~\(n\)的路径中,求\(max\frac{min(f)}{\sum c}\). 题解:对于c,一定是单源最短路 ...
- Python——Django框架——Model数据库模型
一.设置 1.Django的setting中配置数据库(MySQL配置) DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql' ...
- Maven与Nexus3.x环境构建详解
一.Maven介绍Apache Maven是一个创新的软件项目管理和综合工具.Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件. ...
- codeforces 1019B The hat 【交互题+二分搜索】
题目链接:戳这里 学习题解:戳这里
- Redis in Action : Redis 实战学习笔记
1 1 1 Redis in Action : Redis 实战学习笔记 1 http://redis.io/ https://github.com/antirez/redis https://ww ...
- how to using js to realize notes feature on the website
how to using js to realize notes feature on the website js & notes demos https://medium.com/brow ...
- CSS overflow-anchor
CSS overflow-anchor https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-anchor https://develop ...