asp.net core系列 72 Exceptionless使用介绍

一.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.yml文件配置,修改里面有关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://github.com/exceptionless/Exceptionless/wiki

   

猜你喜欢

转载自www.cnblogs.com/MrHSR/p/11481561.html