一. Exceptionless 介绍
Exceptionless 专注于. net 平台提供实时错误和日志报告. 主要包括: 错误通知, 智能分组异常, 详细错误报告堆栈跟踪, 支持离线, UI 查看重要错误和确定优先级, 仪表板上的统计信息和趋势, 对异常标记为已修复, 监视回归, 将事件标记为关键等.
1.1 服务端托管
对于 Exceptionless 有二种部署环境:
a. 在 Exceptionless 官网创建帐号, 跟着页指导新建应用程序以及项目, 官网会生成 apikey, 将 apikey 复制拿到 net 对应项目中, 在项目中安装 Exceptionless 客户端进行使用, 日志数据将存储在 Exceptionless 官网.
b. 自己搭建 Exceptionless 的服务器环境, 数据存储在自己的服务器上. 对于 a 种方案是直接省事, 但有很多限制功能 (如: 不能添加成员), 除非掏钱成会员. 所以推荐使用 b 方案.
5.0 版本发布信息: https://github.com/exceptionless/Exceptionless/releases
1.2 自主托管
在 Exceptionless5.0 版本之前, 要进行自主托管需要准备很多环境, 生产环境包括. NET 4.7,Java JDK 1.8+,IIS 7.5,PowerShell 3 + 等环境. 在 Exceptionless5. 新版本中官方已经准备了 Docker 镜像部署很方便.
自主托管参考: https://github.com/exceptionless/Exceptionless/wiki/Self-Hosting
环境要求: Linux 或 Windows 的 Docker 18.09.0+
先下载 Exceptionless-5.0.0.zip (https://github.com/exceptionless/Exceptionless/wiki/Self-Hosting), 在安装 Exceptionless 自主托管之前, 需要先安装好如下:
- (1) Elasticsearch:5.6.16 (存储与大数据检索)
- (2) kibana:5.6.16(UI 展示)
- (3) Redis
然后再修改 Exceptionless 下的 docker-compose.YAML 文件配置, 修改里面有关 Elasticsearch,kibana\Redis 地址或端口. 在 docker 终端使用命令: docker-compose up -d 在后台运行 docker. 这是自托管的推荐方法.
安装成功后默认启动 http://localhost:5000 进入 Exceptionless 登录页面, 注册用户, 添加组织, 添加项目, 选择项目类型并且记住 apikey, 如下所示:
下面选择了 Console and Service applications 项目类型, 并产生了 apikey 如下所示:
接着开发成员注册, 并邀请到项目中来, 如下所示:
二. 项目引用 nuget 包说明
在. net 项目中引用包:
Install-Package Exceptionless -Version 4.3.2027
如果是 ASP.NET core, 则会引用下面包
Install-Package Exceptionless.AspNetCore
Exceptionless 还可以与 Nlog 集成, 下面是 NLog 引用包:
Install-Package Exceptionless.NLog -Version 4.3.2027
Exceptionless 集成了 nlog 资料: https://github.com/exceptionless/Exceptionless.Net/blob/master/samples/Exceptionless.SampleConsole/Program.cs
三. 项目集成
下面控制台程序引用 nuget 包:
- Install-Package Exceptionless -Version 4.3.2027
- using Exceptionless;
- //main 方法中设置
- Exceptionless.ExceptionlessClient.Default.Configuration.ServerUrl = "http://localhost:5000";
- Exceptionless.ExceptionlessClient.Default.Startup("aE3KwemN8QMBe5eSmGbi5j8PhlNFTgKezBazJCQO");
- // 异常测试提交
- try
- {
- throw new Exception("测试异常");
- }
- catch (Exception ex)
- {
- ex.ToExceptionless().Submit();
- }
提交成功如下所示:
更多使用参考:
来源: https://www.cnblogs.com/MrHSR/p/11481561.html