.NET Core集成Seq+Serilog实现日志中心
一,下载安装Seq
https://datalust.co/download/all,版本很多,大家随便挑,开发版个人免费,商业版多账号需要收费,占用5341端口。
二,.NET Core程序中使用Serilog
引用nuget包,Serilog的包分的比较细,根据不同的日志存储介质有不同的包,使用Seq需引用Serilog.Sinks.Seq
声明log对象,WriteTo代表将日志存储进哪里,可以同时配置多大存储介质。
Log.Logger = new LoggerConfiguration() .MinimumLevel.Debug() .WriteTo.Seq("http://localhost:5341/") //.WriteTo.File("logs\\myapp.txt", rollingInterval: RollingInterval.Day) .CreateLogger();
打印日志,Serilog是一种结构化日志组件,已Json的形式存储日志,在代码中通过{@对象名}可直接将对象作为json对象输出。
var duixiang = new { name = "这是个对象", people = 666 }; int i=0; try { double s = 1 / i; } catch (Exception ex) { Log.Verbose(ex, "Something went wrong"); //throw; } Log.Debug("Hello, world!" + DateTime.Now.ToString()); Log.Information("Hello, world!{@ca}", duixiang); Log.Debug("Hello, world!"); Log.Error("Hello, world!"); Log.Warning("Hello, world!");
浏览器访问http://192.168.1.148:5341,可以看到日志已经输出
Seq有很好的检索和分组管理功能
自定义Tab,详细的等各位自己发掘了。