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多条,足以应付大型项目.