.NET Core集成Seq+Serilog实现日志中心

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

 

——我从来不水帖,我只是代码的搬运工。
原文地址:https://www.cnblogs.com/night-w/p/14103762.html