.Net 开源异常日志ExceptionLess搭建

ExceptionLess是一款免费开源的分布式日志收集框架,DotNet的几乎所有类型的程序都可以支持,并且还提供了接口,可以很方便的在js中进行日志的推送。



参考:

http://www.cnblogs.com/uptothesky/p/5864863.html
http://www.cnblogs.com/savorboard/p/exceptionless.html
http://mp.weixin.qq.com/s?__biz=MzAwNTMxMzg1MA==&mid=2654067937&idx=1&sn=01e502d9ef5cf77817aa80db6903923d&scene=0#wechat_redirect


安装说明

ExceptionLess的装分为两种:

  1. 在github上下载release包进行安装。

安装环境

  1. Window10
  2. VS2017
  3. IIS8.5
  4. Java
  5. ElasticSearch1.7.5
  6. Exceptionless.3.4.2523


  

安装步骤

  1. 解压zip包,包含文件如图:
  2. 解压elasticsearch如图:
  3. 把Exceptionless里面的elasticsearch.prod.yml和elasticsearch.yml文件复制到elasticsearch解压目录bin文件夹下,如图:
  4. Java JDK 1.8+ 安装完后还需配置下Java环境,系统变量添加:JAVA_HOME  对应 C:\Program Files\Java\jdk1.8.0_102 是安装jdk的目录,用户变量Path 中添加 %JAVA_HOME%\bin; 配置完成后打开cmd,运行
    java -version 如果报错的话有很多种可能,搜索一下会有解决方案,我的就是在C:\Windows\System32 目录下把java.exe改名成javaa.exe,再次cmd运行就成功了
  5. 以管理员方式运行Exceptionless文件中的Start.bat批处理文件开始安装 
  6. 如果全部安装成功后,会自动为你打开几个页面。还是先来看下目录结构吧,如下图所示,默认安装Elasticsearch是5.5.2 同时安装了kibana版本也是5.5.2
  7. 打开的几个页面如下图所示,然后在Exceptionless的页面,点击注册按钮注册一个账号,然后进行登录
  8. 注册成功后,进入如下的界面,在两个文本框输入,组织机构名称以及项目名称,用来对我们的项目的异常进行分类吧
  9. 下面进入项目类型配置界面,在1.select your project type下拉框选择asp.net core
  10. 出现下面的界面,说明配置完成,并且给出使用说明。到此Exceptionless的安装配置已经完成。

Net Core 项目实战演示

  1. 新建一个 netcore api项目
  2. 在程序包管理器中,选中你的项目,然后输入“ Install-Package Exceptionless.AspNetCore”安装nuget包吧,也可以通过其他方式安装
  3. 在startup.cs中添加 引用:Startup全部代码:
    using Exceptionless;
    using Microsoft.AspNetCore.Builder;
    using Microsoft.AspNetCore.Hosting;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.DependencyInjection;
    
    namespace WebApplication1
    {
        public class Startup
        {
            public Startup(IConfiguration configuration)
            {
                Configuration = configuration;
            }
    
            public IConfiguration Configuration { get; }
    
            // This method gets called by the runtime. Use this method to add services to the container.
            public void ConfigureServices(IServiceCollection services)
            {
                services.AddMvc();
            }
            //public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
            //{
            //    app.UseExceptionless();
            //    app.UseExceptionless("eUUE3Tf5EqGdpyBiD1I3BdIgT9cGxv7jSzmSUdLt");
            //    //app.UseExceptionless("15mT6MDBAxaVOQ4b8v6BxikgACwMr6Y3StSgs6B4");
            //    app.UseStaticFiles();
            //    app.UseMvc();
            //}
            // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
            public void Configure(IApplicationBuilder app, IHostingEnvironment env)
            {
                if (env.IsDevelopment())
                {
                    app.UseDeveloperExceptionPage();
                }
                ExceptionlessClient.Default.Configuration.ApiKey = "eUUE3Tf5EqGdpyBiD1I3BdIgTGxv7jSzmSUdLt";
                ExceptionlessClient.Default.Configuration.ServerUrl = "http://localhost:50000";
                app.UseMvc();
            }
        }
    }
  4. 代码中使用异常,直接上代码吧!就是在ValuesController中修改下get方法进行下测试,代码很简单

    using Exceptionless;
    using Microsoft.AspNetCore.Mvc;
    using System;
    using System.Collections.Generic;
    
    namespace WebApplication1.Controllers
    {
        [Route("api/[controller]")]
        public class ValuesController : Controller
        {
            // GET api/values
            [HttpGet]
            public IEnumerable<string> Get()
            {
                try
                {
                    throw new Exception("测试日志演示");
                }
                catch (Exception ex)
                {
                    ex.ToExceptionless().Submit();
                }
                try
                {
                    throw new ApplicationException("控制器——ValuesController:" + Guid.NewGuid().ToString());
                }
                catch (Exception ex)
                {
                    ex.ToExceptionless().Submit();
                }
    
                return new string[] { "value1", "value2" };
            }
    
            // GET api/values/5
            [HttpGet("{id}")]
            public string Get(int id)
            {
                return "value";
            }
    
            // POST api/values
            [HttpPost]
            public void Post([FromBody]string value)
            {
            }
    
            // PUT api/values/5
            [HttpPut("{id}")]
            public void Put(int id, [FromBody]string value)
            {
            }
    
            // DELETE api/values/5
            [HttpDelete("{id}")]
            public void Delete(int id)
            {
            }
        }
    }
  5. .运行起来吧。然后浏览器切换到exceptionless的面板进行查看吧,会自动刷新出现异常信息,如下图http://localhost:50000/#!/type/error/dashboard
  6. 点击进入可以查看详细信息

原文地址:https://www.cnblogs.com/aaaaq/p/9196123.html

时间: 2024-07-31 04:31:00

.Net 开源异常日志ExceptionLess搭建的相关文章

asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程

原文:asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionless的学习做下笔记! Exceptionless是什么?能做什么呢? “Exceptionless”这个词的定义是:没有异常.Exceptionless可以为您的ASP.NET.We

.NET开源分布式日志框架ExceptionLess实战演练(公开版)

一.课程介绍 在以前,我们做日志收集大多使用 Log4net,Nlog 等框架,在应用程序变得复杂并且集群的时候,可能传统的方式已经不是很好的适用了,因为收集各个日志并且分析他们将变得麻烦而且浪费时间.相信大家的项目中日志功能已经做为基础设施里必不可少的一部分了,日志记录不仅可以更好的记录用户行为,还可以记录系统运行日志,从而看到判断系统运行的健壮性.了解决实时日志监控问题,ELK提供的一套的解决方案就应运而生了 ,作为NET技术的我们,开源的轻量级分布式ExceptionLess 日志框架或许

ELK服务搭建(开源实时日志分析ELK平台部署)(低版本—简单部署)

开源实时日志分析ELK平台部署 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误. 通常,日志被分散的储存不同的设备上.如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志.这样是不是感觉很繁琐和效率低下.当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总. 集中化管理日志后,日志的

C++的开源跨平台日志库glog学习研究(一)

作为C++领域中为数不多的好用.高效的.跨平台的日志工具,Google的开源日志库glog也算是凤毛麟角了.glog 是一个C++实现的应用级日志记录框架,提供了C++风格的流操作. 恰巧趁着五一我也学习研究了这个glog库,写个总结如下.走过路过的的各位牛人.高手可以忽略这篇文章了. 从code.google.com下载源码(在这里),在Visual Studio 2010中打开工程,如下: 可见只有四个工程,其中libglog和libglog_static分别是Windows下的动态库和静态

C++的开源跨平台日志库glog学习研究(二)--宏的使用

上一篇从整个工程上简单分析了glog,请看C++的开源跨平台日志库glog学习研究(一),这一篇对glog的实现代码入手,比如在其源码中以宏的使用最为广泛,接下来就先对各种宏的使用做一简单分析. 1. 日志输出宏 这里我们以一条最简单的日至输出为例说明: LOG(WARNING) << "This is a warning message"; 这里LOG是一个宏,其定义如下(logging.h line 487): #define LOG(severity) COMPACT

Log4Net异常日志记录在asp.net mvc3.0的应用

前言 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是简单的介绍如何在Visual Studio2010(Asp.Net Mvc3.0)中使用log4net快速创建系统日志,如何扩展以输出自定义字段. 用户可以从http://logging.apache.org/log4net/下载log4net的源代码.解压软件包后,在解压的src目录下将log4net.sln载入Visual

elk开源分布式日志分析平台

elk 开源分布式日志分析平台 一.简介1.核心组成2.三大组件3.elk 的工作流程4.elk 的帮助手册二.Logstash 和 elasticsearch(elasticsearch 和 logstash 依赖 java环境)1.java2.nginx 的安装3.redis 的安装4.安装 elasticsearch5.安装 logstash6.安装 kibana三.检验 elk 的日志结果 一.简介1.核心组成>.elk 由 Elasticsearch,Logstash 和 Kibana

开源实时日志分析ELK

开源实时日志分析ELK 2018-01-04 转自:开源实时日志分析ELK平台部署 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误. 通常,日志被分散的储存不同的设备上.如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志.这样是不是感觉很繁琐和效率低下.当务之急我们使用集中化的日志管理,例如:开源的syslog,将所

ELK日志平台搭建

ELK日志平台搭建 整体架构 整体架构主要分为5个模块,分别提供不同的功能: Filebeat:轻量级数据收集引擎.基于原先 Logstash-fowarder 的源码改造出来.是 ELK Stack 在 Agent 的第一选择.<br><br>Kafka:数据缓冲队列.作为消息队列解耦了处理过程,同时提高了可扩展性.具有峰值处理能力,使用消息队列能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷的请求而完全崩溃.<br><br>Logstash:数据