.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,詳細的等各位自己發掘了。