日志系统——集中日志服务(5)
一、集中日志服务
1.使用NLog、Serilog可以将日志记录到MongoDb等地方,不需要自己编写日志分析系统
2.有共有云厂商提供了日志云服务,都带分析服务
3.如果不想用云平台,想自己搭建,可以使用开源的Exceptionless或LEK等。
4.Exceptionless或LEK等有云平台,但网速较慢可以下载到服务器自己搭建。
二、Exceptionless
1.到Exceptionless官网注册,然后可以拿到apikey。
2.Nuget安装serilog的Exceptionless的包
3.在程序开始加上ExceptionlessClient.Default.Startup(“gF0rVHtu0IZrXM0LmVhZpWIreFJOWV3OZoUssW69”);
再将Serilog写入Exceptionless
WriteTo.Exceptionless()
三、创建项目
1.登陆官网
https://be.exceptionless.
io/
2.创建用户
3.添加项目选择控制台项目类型,安装包,复制apikey

4.安装上面的包,成功页面,再安装
Serilog.Sinks.Exceptionless包
5.Console代码如下
using Exceptionless;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using NLog.Extensions.Logging;
using Serilog;
using Serilog.Formatting.Json;
using System;
namespace _01_Logging
{
class Program
{
static void Main(string[] args)
{
///模拟startup实例一个ServiceCollection
ServiceCollection services = new ServiceCollection();
//注入使用apikey
ExceptionlessClient.Default.Startup("gF0rVHtu0IZrXM0LmVhZpWIreFJOWV3OZoUssW69");
services.AddLogging(
logBuilder=>
{
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.Enrich.FromLogContext()
.WriteTo.Console(new JsonFormatter())
//结构化的日志写入Exceptionless
.WriteTo.Exceptionless()
.CreateLogger();
logBuilder.AddSerilog();
}
);
//注册服务
services.AddScoped<SystemService>();
//通过服务构建容器,ServiceProvider类型
using (var sp = services.BuildServiceProvider())
{ ///获取容器中的服务ITestService
var test2 = sp.GetRequiredService<SystemService>();
test2.Logging();
}
}
}
}
四、运行后Exceptionless接收日志


五、源码地址
https://github.com/1768894221/Serilog_Exceptionless

浙公网安备 33010602011771号