.NetCore 分布式日志收集Exceptionless 在Windows下本地安装部署及应用实例

时间:2023-03-08 15:58:18

自己安装时候遇到很多问题,接下来把这些问题写出来希望对大家有所帮助

搭建环境:

1、下载安装 java 8 SDK (不要安装最新的10.0) 并配置好环境变量(环境变量的配置就不做介绍了)

2、下载安装 Elasticsearch 5.X  这里注意 只能下载 5.X版本 请勿使用其他版本( 但我们用Exceptionless的时候,会出现如下错误)

.NetCore 分布式日志收集Exceptionless 在Windows下本地安装部署及应用实例

3、下载4.1的Exceptionless 发布包 部署安装到本地IIS (也可以在github上拉源码处理)

https://github.com/exceptionless/Exceptionless

Elasticsearch 5.X安装说明

.NetCore 分布式日志收集Exceptionless 在Windows下本地安装部署及应用实例.NetCore 分布式日志收集Exceptionless 在Windows下本地安装部署及应用实例

运行elasticsearch.bat文件 可以看到启动起来了,访问9200端口

.NetCore 分布式日志收集Exceptionless 在Windows下本地安装部署及应用实例

已经ok了

Exceptionless的配置

解压文件可以看到

.NetCore 分布式日志收集Exceptionless 在Windows下本地安装部署及应用实例

Start.bat这个文件你可以不用,自己已经安装elasticsearch

如果你没用安装elasticsearch,执行Start.bat会安装(但是这里会遇到一个问题就是PowerShell的问题) 设置下如下就行了,允许(Y)下就会自动下载安装

.NetCore 分布式日志收集Exceptionless 在Windows下本地安装部署及应用实例

进入wwwroot文件夹

设置一下 App_Data文件夹的权限 可以添加IIS_User的写权限

.NetCore 分布式日志收集Exceptionless 在Windows下本地安装部署及应用实例

这两个文件中需要根据需求配置修改下,这里我只修改下elasticsearch地址和 Exceptionless的 baseurl

.NetCore 分布式日志收集Exceptionless 在Windows下本地安装部署及应用实例

.NetCore 分布式日志收集Exceptionless 在Windows下本地安装部署及应用实例

访问下localhost:50000端口

.NetCore 分布式日志收集Exceptionless 在Windows下本地安装部署及应用实例

还是自己通过signup自己注册账号密码进行登录,并添加自己的项目 LiYouMing

.NetCore 分布式日志收集Exceptionless 在Windows下本地安装部署及应用实例.NetCore 分布式日志收集Exceptionless 在Windows下本地安装部署及应用实例

创建好后会有相关指导

.NetCore 分布式日志收集Exceptionless 在Windows下本地安装部署及应用实例

app.UseExceptionless("rDqKzirAfPEZyojhrrWYp59BaS6xnYfLa5TBK1Gx")

这个就是AppKey了 在我们的应用项目中会使用到这个key,到这一步基本已经算完成了环境的搭建了

接下来写一个测试例子,创建一个 asp.net core项目 并使用nuget  Exceptionless.AspNetCore

项目需要两个东西(一个是项目的appkey  还是一个自然是日志收集的服务地址)

关于这里的写法可以参考wiki上的文档我做一个简单说明

在Confiure中配置

ExceptionlessClient.Default.Configuration.ApiKey = "rDqKzirAfPEZyojhrrWYp59BaS6xnYfLa5TBK1Gx"; 
ExceptionlessClient.Default.Configuration.ServerUrl = "http://localhost:50000"; app.UseExceptionless();

下面来写个action 随意抛出一个异常

     public ActionResult Index()
{ try
{
throw new Exception("这是分布式日志收集 LiYouMing项目");
}
catch (Exception ex)
{
ex.ToExceptionless().Submit();
}
return Ok();
}

切换到 LiYouMing项目下面

.NetCore 分布式日志收集Exceptionless 在Windows下本地安装部署及应用实例

.NetCore 分布式日志收集Exceptionless 在Windows下本地安装部署及应用实例

.NetCore 分布式日志收集Exceptionless 在Windows下本地安装部署及应用实例

Exceptionless还为我们提供了接口

.NetCore 分布式日志收集Exceptionless 在Windows下本地安装部署及应用实例

关于接口的使用就不做过多的介绍

看起来OK了,那就这样吧,管理 Exceptionless的更多用法参考

https://github.com/exceptionless/Exceptionless.Net/wiki