.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,详细的等各位自己发掘了。