microsoft.extensions.logging日志组件拓展(保存文本文件)
Microsoft.Extensions.Logging 日志组件拓展
- 文件文本日志
- 文件文本日志UI插件
- 自定义介质日志
Microsoft.Extensions.Logging.File文件文本日志
安装配置完插件后,你的asp.net core程序会将输出的日志保存在程序根目录下的logs文件夹,并以日期划分文件名
配置
安装Huanent.Logging.File nuget包
在Program.cs文件中添加
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
手动高亮 --> .ConfigureLogging(builder => builder.AddFile())
.Build();
- 配置appsettings.json文件,添加File节点
{
"Logging": {
"IncludeScopes": false,
"Debug": {
"LogLevel": {
"Default": "Warning"
}
},
"Console": {
"LogLevel": {
"Default": "Warning"
}
},
手动高亮 --> "File": {
手动高亮 --> "LogLevel": {
手动高亮 --> "Default": "Warning" //具体输入级别自行修改,也可添加详细的分类别输出
手动高亮 --> }
手动高亮 --> }
}
}
步骤3可忽略,如果忽略会将所有类别日志都输出到文本文件
Microsoft.Extensions.Logging.File.UI
- 安装Huanent.Logging.File.UI nuget包
- 修改Startup.cs
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
手动高亮 --> services.AddLoggingFileUI();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
手动高亮 --> app.UseStaticFiles();
手动高亮 --> app.UseMvc();
}
}
- 启动网站,访问页面http://xxxxx:xx/logging 即可打开页面查看日志
Microsoft.Extensions.Logging.Abstract 自定义介质日志
可以通过实现ILoggerWriter来自定义日志输出保存的介质
配置
安装Huanent.Logging.Abstract nuget包
实现ILoggerWriter
public class MyLogWriter : ILoggerWriter
{
public void WriteLog(LogLevel level, string message, string name, Exception exception, EventId eventId)
{
//在此处自定义日志的保存方式。可以保存到数据库,云等。。。
//注意!MyLogWriter对象在DI容器中是单例形式存在的!
//注意!请勿在MyLogWriter中进行会日志输出的操作,那可能会导致循环递归,栈溢出!
}
}
- 在Program.cs文件中添加
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
手动高亮 --> .ConfigureLogging(builder => builder.AddAbstract<MyLogWriter>())
.Build();
- 配置appsettings.json文件,添加Abstract节点
{
"Logging": {
"IncludeScopes": false,
"Debug": {
"LogLevel": {
"Default": "Warning"
}
},
"Console": {
"LogLevel": {
"Default": "Warning"
}
},
手动高亮 --> "Abstract": {
手动高亮 --> "LogLevel": {
手动高亮 --> "Default": "Warning" //具体输入级别自行修改,也可添加详细的分类别输出
手动高亮 --> }
手动高亮 --> }
}
}
步骤4可忽略,如果忽略会将所有类别日志都输出
microsoft.extensions.logging日志组件拓展(保存文本文件)的更多相关文章
- asp.net core 2.0 Microsoft.Extensions.Logging 文本文件日志扩展
asp.net core微软官方为日志提供了原生支持,有如下实现 Console Debug EventLog AzureAppServices TraceSource EventSource 并且在 ...
- Asp.Net Core 2.0 项目实战(9) 日志记录,基于Nlog或Microsoft.Extensions.Logging的实现及调用实例
本文目录 1. Net下日志记录 2. NLog的使用 2.1 添加nuget引用NLog.Web.AspNetCore 2.2 配置文件设置 2.3 依赖配置及调用 ...
- 微软日志工厂 Microsoft.Extensions.Logging 中增加 log4net 的日志输出
前提: 需要nuget Microsoft.Extensions.Logging.Log4Net.AspNetCore 2.2.6: 描述:解决 .net core 微软日志工厂 Micros ...
- 将日志(Microsoft.Extensions.Logging)添加到.NET Core控制台应用程序
在.NET Core项目中,日志记录是通过依赖项注入进行管理的. 尽管这对于ASP.NET项目效果很好,但在启动Startup.cs中的新项目时,所有这些都会自动创建,而在控制台应用程序中则需要一些配 ...
- Unable to resolve service for type 'Microsoft.Extensions.Logging.ILogger' while attempting to activate 'xxxxx.Controllers.xxxxController'.
Unable to resolve service for type 'Microsoft.Extensions.Logging.ILogger' while attempting to activa ...
- [.Net Core] 在 Mvc 中简单使用日志组件
在 Mvc 中简单使用日志组件 基于 .Net Core 2.0,本文只是蜻蜓点水,并非深入浅出. 目录 使用内置的日志组件 简单过渡到第三方组件 - NLog 使用内置的日志 下面使用控制器 Hom ...
- Asp.Net Core中简单使用日志组件log4net
本文将简单介绍在.NET 6中使用log4net的方法,具体见下文范例. 1.首先新建一个ASP.NET Core空项目 2.通过Nuget包管理器安装下面两个包 log4net Microsoft. ...
- 乘风破浪,遇见最佳跨平台跨终端框架.Net Core/.Net生态 - 官方扩展集锦(Microsoft.Extensions on Nuget)
什么是Microsoft.Extensions .NET Platform Extensions是一套.Net官方的API集合,提供了一些常用的编程模式和实用工具,例如依赖项注入.日志记录.缓存.Ho ...
- MvvmLight + Microsoft.Extensions.DependencyInjection + WpfApp(.NetCore3.1)
git clone MvvmLight失败,破网络, 就没有直接修改源码的方式来使用了 Nuget安装MvvmLightLibsStd10 使用GalaSoft.MvvmLight.Command命名 ...
随机推荐
- 函数arguments讲解
// 总结:1- 函数内部有一个实参 arguments 可以获取所有的实参. //2- arguments是一个伪数组,如果要使用数组的方法, 将它转为真数组 // 3 ...
- 201871010118-唐敬博《面向对象程序设计(java)》第十六周学习总结
博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 <https://www.cnblogs.com/nwnu-daizh/> 这个作业的要求在哪里 <https://ww ...
- 201871010132-张潇潇-《面向对象程序设计(java)》第十周总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- Vue (表单、斗篷、条件、循环指令,分隔符成员、计算属性成员、属性的监听、vue组件、子组件、各个常见的钩子函数)
表单指令 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF- ...
- CS231n:
Bayesian Hyperparameter Optimization is a whole area of research devoted to coming up with algorithm ...
- Linux作为l2tp client 连接l2tp server
cat /etc/xl2tpd/xl2tpd.conf [global] debug tunnel = yes [lac name] lns = xxx.xxx.xxx.xxx pppoptfile ...
- NeuHub图像垃圾分类api和百度图像识别api
京东 NeuHub图像垃圾分类申请:http://neuhub.jd.com/gwtest/init/242 文档:https://aidoc.jd.com/image/garbageClassifi ...
- 弗洛伊德算法(Floyd )
package com.rao.graph; /** * @author Srao * @className Floyd * @date 2019/12/11 18:43 * @package com ...
- 北漂不易,逆风前行[给想在北京工作的java同学们诚恳的建议!]
作为一个北漂程序员(java开发),从业6年,北漂十一年,走了不少弯路,也曾孤独彷徨,楼主今天特地总结了一些经验,希望能给大家(准备做北漂 或 北漂的朋友们)一点启发.从生活.专业和薪水这2个方向来分 ...
- pytorch的state_dict()拷贝问题
先说结论,model.state_dict()是浅拷贝,返回的参数仍然会随着网络的训练而变化.应该使用deepcopy(model.state_dict()),或将参数及时序列化到硬盘. 再讲故事,前 ...