Microsoft.Extensions.Logging 日志组件拓展

  • 文件文本日志
  • 文件文本日志UI插件
  • 自定义介质日志

Microsoft.Extensions.Logging.File文件文本日志

安装配置完插件后,你的asp.net core程序会将输出的日志保存在程序根目录下的logs文件夹,并以日期划分文件名

配置

  1. 安装Huanent.Logging.File nuget包

  2. 在Program.cs文件中添加

 public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
手动高亮 --> .ConfigureLogging(builder => builder.AddFile())
.Build();
  1. 配置appsettings.json文件,添加File节点
{
"Logging": {
"IncludeScopes": false,
"Debug": {
"LogLevel": {
"Default": "Warning"
}
},
"Console": {
"LogLevel": {
"Default": "Warning"
}
},
手动高亮 --> "File": {
手动高亮 --> "LogLevel": {
手动高亮 -->   "Default": "Warning" //具体输入级别自行修改,也可添加详细的分类别输出
手动高亮 --> }
手动高亮 --> }
}
}

步骤3可忽略,如果忽略会将所有类别日志都输出到文本文件

Microsoft.Extensions.Logging.File.UI

  1. 安装Huanent.Logging.File.UI nuget包
  2. 修改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();
}
}
  1. 启动网站,访问页面http://xxxxx:xx/logging 即可打开页面查看日志

Microsoft.Extensions.Logging.Abstract 自定义介质日志

可以通过实现ILoggerWriter来自定义日志输出保存的介质

配置

  1. 安装Huanent.Logging.Abstract nuget包

  2. 实现ILoggerWriter

public class MyLogWriter : ILoggerWriter
{
public void WriteLog(LogLevel level, string message, string name, Exception exception, EventId eventId)
{
//在此处自定义日志的保存方式。可以保存到数据库,云等。。。
//注意!MyLogWriter对象在DI容器中是单例形式存在的!
//注意!请勿在MyLogWriter中进行会日志输出的操作,那可能会导致循环递归,栈溢出!
}
}
  1. 在Program.cs文件中添加
 public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
手动高亮 --> .ConfigureLogging(builder => builder.AddAbstract<MyLogWriter>())
.Build();
  1. 配置appsettings.json文件,添加Abstract节点
{
"Logging": {
"IncludeScopes": false,
"Debug": {
"LogLevel": {
"Default": "Warning"
}
},
"Console": {
"LogLevel": {
"Default": "Warning"
}
},
手动高亮 --> "Abstract": {
手动高亮 --> "LogLevel": {
手动高亮 --> "Default": "Warning" //具体输入级别自行修改,也可添加详细的分类别输出
手动高亮 --> }
手动高亮 --> }
}
}

步骤4可忽略,如果忽略会将所有类别日志都输出

文件下载

microsoft.extensions.logging日志组件拓展(保存文本文件)的更多相关文章

  1. asp.net core 2.0 Microsoft.Extensions.Logging 文本文件日志扩展

    asp.net core微软官方为日志提供了原生支持,有如下实现 Console Debug EventLog AzureAppServices TraceSource EventSource 并且在 ...

  2. Asp.Net Core 2.0 项目实战(9) 日志记录,基于Nlog或Microsoft.Extensions.Logging的实现及调用实例

    本文目录 1. Net下日志记录 2. NLog的使用     2.1 添加nuget引用NLog.Web.AspNetCore     2.2 配置文件设置     2.3 依赖配置及调用     ...

  3. 微软日志工厂 Microsoft.Extensions.Logging 中增加 log4net 的日志输出

    前提: 需要nuget   Microsoft.Extensions.Logging.Log4Net.AspNetCore   2.2.6: 描述:解决 .net core 微软日志工厂 Micros ...

  4. 将日志(Microsoft.Extensions.Logging)添加到.NET Core控制台应用程序

    在.NET Core项目中,日志记录是通过依赖项注入进行管理的. 尽管这对于ASP.NET项目效果很好,但在启动Startup.cs中的新项目时,所有这些都会自动创建,而在控制台应用程序中则需要一些配 ...

  5. 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 ...

  6. [.Net Core] 在 Mvc 中简单使用日志组件

    在 Mvc 中简单使用日志组件 基于 .Net Core 2.0,本文只是蜻蜓点水,并非深入浅出. 目录 使用内置的日志组件 简单过渡到第三方组件 - NLog 使用内置的日志 下面使用控制器 Hom ...

  7. Asp.Net Core中简单使用日志组件log4net

    本文将简单介绍在.NET 6中使用log4net的方法,具体见下文范例. 1.首先新建一个ASP.NET Core空项目 2.通过Nuget包管理器安装下面两个包 log4net Microsoft. ...

  8. 乘风破浪,遇见最佳跨平台跨终端框架.Net Core/.Net生态 - 官方扩展集锦(Microsoft.Extensions on Nuget)

    什么是Microsoft.Extensions .NET Platform Extensions是一套.Net官方的API集合,提供了一些常用的编程模式和实用工具,例如依赖项注入.日志记录.缓存.Ho ...

  9. MvvmLight + Microsoft.Extensions.DependencyInjection + WpfApp(.NetCore3.1)

    git clone MvvmLight失败,破网络, 就没有直接修改源码的方式来使用了 Nuget安装MvvmLightLibsStd10 使用GalaSoft.MvvmLight.Command命名 ...

随机推荐

  1. 函数arguments讲解

         // 总结:1- 函数内部有一个实参 arguments 可以获取所有的实参.      //2- arguments是一个伪数组,如果要使用数组的方法, 将它转为真数组      // 3 ...

  2. 201871010118-唐敬博《面向对象程序设计(java)》第十六周学习总结

    博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 <https://www.cnblogs.com/nwnu-daizh/> 这个作业的要求在哪里 <https://ww ...

  3. 201871010132-张潇潇-《面向对象程序设计(java)》第十周总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

  4. Vue (表单、斗篷、条件、循环指令,分隔符成员、计算属性成员、属性的监听、vue组件、子组件、各个常见的钩子函数)

    表单指令 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF- ...

  5. CS231n:

    Bayesian Hyperparameter Optimization is a whole area of research devoted to coming up with algorithm ...

  6. Linux作为l2tp client 连接l2tp server

    cat /etc/xl2tpd/xl2tpd.conf [global] debug tunnel = yes [lac name] lns = xxx.xxx.xxx.xxx pppoptfile ...

  7. NeuHub图像垃圾分类api和百度图像识别api

    京东 NeuHub图像垃圾分类申请:http://neuhub.jd.com/gwtest/init/242 文档:https://aidoc.jd.com/image/garbageClassifi ...

  8. 弗洛伊德算法(Floyd )

    package com.rao.graph; /** * @author Srao * @className Floyd * @date 2019/12/11 18:43 * @package com ...

  9. 北漂不易,逆风前行[给想在北京工作的java同学们诚恳的建议!]

    作为一个北漂程序员(java开发),从业6年,北漂十一年,走了不少弯路,也曾孤独彷徨,楼主今天特地总结了一些经验,希望能给大家(准备做北漂 或 北漂的朋友们)一点启发.从生活.专业和薪水这2个方向来分 ...

  10. pytorch的state_dict()拷贝问题

    先说结论,model.state_dict()是浅拷贝,返回的参数仍然会随着网络的训练而变化.应该使用deepcopy(model.state_dict()),或将参数及时序列化到硬盘. 再讲故事,前 ...