Fork me on GitHub

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

asp.net core微软官方为日志提供了原生支持,有如下实现

  • Console
  • Debug
  • EventLog
  • AzureAppServices
  • TraceSource
  • EventSource

并且在asp.net core项目模板中默认开启Comsole,Debug的日志输出

在实际生产中仅仅是控制台的日志输出是不够的,我们希望使用持久化的载体,例如文本txt文件

Huanent.Logging.File是Microsoft.Extensions.Logging的文本文件日志的实现,使用方法非常简单,详细的步骤已经写在github上,请移步

https://github.com/huanent/Huanent.Logging

 

配置说明:

你可通过 Install-Package Huanent.Logging.File来安装拓展,或者在nuget包浏览器搜索Huanent.Logging.File 安装配置完插件后,你的asp.net core程序会将输出的日志保存在程序根目录下的logs文件夹,并以日期划分文件名
1.安装Huanent.Logging.File
2.在Program.cs文件中添加
public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>() 手动高亮 --> .ConfigureLogging(builder => builder.AddFile()) .Build();
3.配置appsettings.json文件,添加File节点
{
"Logging": { "IncludeScopes": false, "Debug": { "LogLevel": { "Default": "Warning" } }, "Console": { "LogLevel": { "Default": "Warning" } }, 手动高亮 --> "File": { 手动高亮 --> "LogLevel": { 手动高亮 --> "Default": "Wanring" //具体输入级别自行修改,也可添加详细的分类别输出 手动高亮 --> } 手动高亮 --> } } }
配置完成

 

 

为了降低文件读写对性能的影响,插件内部维护了一个消息队列,对消息日志进行异步存储,在本机低配cpu(surface pro4 酷睿M3)测试每秒写入量为1000多条,足以应付大型项目.

 

 

 

 

 

  

  

posted @ 2017-08-15 17:25  huanent  阅读(5325)  评论(10编辑  收藏  举报