.Net Core3.1 集成Log4net
准备
第一步: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".read.log""/><!--日志根据日期滚动--><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>
.Net Core3.1 集成Log4net相关推荐
- asp.net core 集成 log4net 日志框架
asp.net core 集成 log4net 日志框架 Intro 在 asp.net core 中有些日志我们可能想输出到数据库或文件或elasticsearch等,如果不自己去实现一个 Logg ...
- 小型电商web架构!小而美!
作者:章为忠 cnblogs.com/zhangweizhong/p/5173841.html 这一年,从传统软件行业进入到电商企业,算是一次转行了吧.刚开始,觉得电商网站没有什么技术含量,也没有什么 ...
- 电商总结(八)如何打造一个小而精的电商网站架构
前面写过一些电商网站相关的文章,这几天有时间,就把之前写得网站架构相关的文章,总结整理一下.把以前的一些内容就连贯起来,这样也能系统的知道,一个最小的电商平台是怎么一步步搭建起来的.对以前的文章感兴趣 ...
- 如何打造一个小而精的电商网站架构?
本文大纲: 1. 小型电商网站的架构 2. 日志与监控系统的解决方案 3. 构建数据库的主从架构 4. 基于共享存储的图片服务器架构 5. 移动M站建设 6. 系统容量预估 7. 缓存系统 一.小型电 ...
- .NET Core + Kubernetes:StatefulSet
在 Kubernetes 中,Pod 资源的控制器 Deployment.Replicaset.Daemonset 等常用于管理无状态应用,它们所管理的 Pod 对应的 IP.名字,启停顺序等都是随机 ...
- 【转】新思想、新技术、新架构——更好更快的开发现代ASP.NET应用程序(续1)
上周星期天开通了博客并发布了第一篇文章<新思想.新技术.新架构--更好更快的开发现代ASP.NET应用程序>,汇集了一些比较流行的技术和开源项目,也把自己的程序架构.部分代码风格.前端表现 ...
- topshelf和quartz内部分享
阅读目录: 介绍 基础用法 调试及安装 可选配置 多实例支持及相关资料 quartz.net 上月在公司内部的一次分享,现把PPT及部分交流内容整理成博客. 介绍 topshelf是创建windows ...
- 电商总结-日志监控系统的解决方案
监控系统主要用于服务器集群的资源和性能监控以及应用异常和性能监控,日志管理等多维度的性能监控分析.一个完善的监控系统和日志系统对于一个系统的重要性不必我多说,总而言之就一句话,只有实时了解各系统的状态 ...
- 架构:小型电商Web架构
电商网站的架构也是如此,现在牛逼的电商网站,看似很复杂,很牛逼,其实也是从很小的架构,也是从没什么技术含量开始的.架构的演化过程,就是在技术团队,不断追求极致的过程. 技术架构 一般,初期的电商网站, ...
最新文章
- 有抱负的Web开发人员应考虑的6件事
- 关于WeX5的初步学习
- 睿思成研发管理咨询有限公司
- hdu5459(2015沈阳网络赛J题)
- step1 . day7 C语言基础练习之指针和函数
- 将某个网站嵌入到iframe的测试
- 读书笔记: 博弈论导论 - 05 - 完整信息的静态博弈 纳什均衡
- c语言指数怎么表示_Assembly 浮点表示法
- 2013蓝桥杯C++B:错误票据
- Unity3D基础28:Invoke计时函数与碰撞销毁
- eeglab新建电极位置并保存为文件
- TFS2010 - 强制撤销签出
- property 的详细使用方法
- GPU版TensorFlow设置CPU运行的办法
- 字体 跨域访问_21个访问量最大的免费字体网站
- 用Python实现语音播报
- 图解:如何理解与实现散列表
- C语言------进制转换器
- 机器视觉OpenCV库基础教程(一)
- 2021年压力容器作业R2移动式压力容器充装证考试题库及R2移动式压力容器充装试题解析
热门文章
- 会议OA之待开会议所有会议
- Ubuntu设置代理服务器
- xbox one 越狱_如何使用密码限制对Xbox One的访问
- 微信小程序之卡片瀑布流
- PMP中的沟通管理、相关方管理的简单介绍
- 一行代码玩转“微信表情”
- ASP.NET Web程序设计——三层架构简介
- HelloWorld程序的编写,保存,编译,运行,相关的步骤。
- css 第二个孩子选择器,详解CSS3选择器:nth-child和:nth-of-type之间的差异
- python中scipy及pandas安装成功,但import时出错,教你解决问题