# .NET Core 下使用 Exceptionless 记录日志

ExceptionLess是一套免费开源分布式系统日志收集框架,也是我无意中发现的,支持自己部署和平台托管的方式接入使用。

# 安装

如果是自己小项目,可以直接使用托管的方式接入ExceptionLess,但是如果是公司项目还是建议自己部署吧。

docker run --rm -it -p 5000:80 exceptionless/exceptionless:6.1.0
1

成功后,打开:http://localhost:5000 (opens new window),可以看到dashboard界面,注册账号登录,创建一个项目。

可以看到选择不同的项目类型,配置方法也写的非常清楚,在 .NET Core 照着配置即可。

更多安装方式参考:https://github.com/exceptionless/Exceptionless/wiki/Self-Hosting (opens new window)

# 使用

安装 NuGet 程序包到项目中:

Install-Package Exceptionless.AspNetCore
1

dashboard界面可以得到一个api密钥,和dashboard服务地址,可以放在配置文件中。

{
    "Exceptionless": {
        "ServerUrl": "http://localhost:5000",
        "ApiKey": "pz2zGzIxbAWjHVU4FqR2UV7ATDfYxbpFZXGjQmCR"
    }
}
1
2
3
4
5
6
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    ...
    app.UseExceptionless(Configuration);
    ...
}
1
2
3
4
5

UseExceptionless有多个重载方法,根据需要选择,这里将IConfiguration对象传进去,获取Exceptionless配置的服务地址和api密钥。

然后在项目中随意写几个接口并访问,在dashboard界面就可以实时看到访问日志了,还是挺方便的。

现在您的项目可以自动将所有未处理异常发送到Exceptionless了,也可以通过 ex.ToExceptionless().Submit()Exceptionless发送已处理的异常。

更多使用方法请参考:https://github.com/exceptionless/Exceptionless.Net/wiki (opens new window)