分类:
.net后台框架
Serilog 是一个用于.NET应用程序的日志记录开源库,配置简单,接口干净,并可运行在最新的.NET平台上,与其他日志库
不同, Serilog 是以功能强大的结构化事件数据为基础构建的, 支持将日志输出到控制台、文件、数据库和其它更多的方式,
支持参数化日志模板,非常灵活。

下面我带大家来实践一下 Serilog 框架的简单配置,首先,使用NuGet控制台安装 Serilog 核心库,其次安装控制台输出扩展库,
如果你想将日志输出到其它存储介质,可安装其它扩展库,Serilog支持的扩展库是很多的。
Install Package Serilog Install Package Serilog.Sinks.Console
引入命名空间:
using Serilog;
初始化LoggerConfiguration对象:
var Therelog = new LoggerConfiguration() .WriteTo.Console() .CreateLogger();
通常写日志我们只需要一个对象就可以了
Therelog.Information("初次见面,多多关照,赶快尝试一下吧!");
还可以把对象设置为全局:
//这样如何地方都可以记录日志了
Log.Logger = Therelog;
Log.Information("Now the global settings are set up ");不仅如此,还可以记录到某个文件哟!但需要扩展包so...
Install Package Serilog.Sinks.File
在控制台中配置日志记录器,与 ASP.NET Core 中的配置是一样的:
using System;
using Serilog;
namespace SerilogExample{
class Program
{
static void Main(){
//链式方法作用:1,初始化 2,接受最低级别 3,从控制台输出 4,日志保存位置
//5,创建日志记录器
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.Console()
.WriteTo.File("logs\\myapp.txt", rollingInterval: RollingInterval.Day)
.CreateLogger();
//提示输出
Log.Information("Hello, world!");
int a = 10, b = 0;
try
{
//提醒可能要保存的地方
Log.Debug("Dividing {A} by {B}", a, b);
Console.WriteLine(a / b);
}
catch (Exception ex)
{
//报错日志输出
Log.Error(ex, "Something went wrong");
}
//重置全局设置
Log.CloseAndFlush();
Console.ReadKey();
}
}
}
其他配置:
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.MinimumLevel.Override("Microsoft", LogEventLevel.Information)
.Enrich.FromLogContext()
.WriteTo.Console()
.WriteTo.File(Path.Combine("Logs", @"log.txt"), rollingInterval: RollingInterval.Day)
.CreateLogger(); Impact-Site-Verification: fa1aa124-2a1a-4ce4-a855-7d566efb6468
本篇讲得很简略大家可以参考 官方文档
如想深入了解Serilog可以参考这篇博客:
https://www.cnblogs.com/mq0036/p/8479956.html
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
50010702506256