一.Exceptionless简介

  Exceptionless 是一个开源的实时的日志收集框架,它可以应用在基于 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF,Console,MVC 等技术栈的应用程序中,并且提供了Rest接口可以应用在 Javascript,Node.js 中。它将日志收集变得简单易用并且不需要了解太多的相关技术细节及配置。
在以前,我们做日志收集大多使用 Log4net,Nlog 等框架,在应用程序变得复杂并且集群的时候,可能传统的方式已经不是很好的适用了,因为收集各个日志并且分析他们将变得麻烦而且浪费时间。
现在Exceptionless团队给我们提供了一个更好的框架来做这件事情,我认为这是非常伟大并且有意义的,感谢他们。

二.使用

   这里有两种方式(本地,远程)

  • 本地需要一定的环境要求(NET 4.6.1 、Java JDK 1.8+、IIS Express 8+)
  • 远程就比较方便了,非常的方便,那么今天就给大家来一波Exceptionless远程使用的教程。

三.注册账号并配置

  官网:http://exceptionless.com

  GitHub:https://github.com/exceptionless/Exceptionless

  关于官方首页访问慢的问题,那没有办法,最好翻个梯子,当然也就只是首页慢了点,因为首页有谷歌的api,管理页面就没有那么卡了(36ms)左右。

  由于我们使用的远程日志,我们得进入官方申请账号,进入官方进行账号注册。

  进入创建项目,输入项目信息,创建项目!

这里当然可以选择我们喜爱的.NET Core !官方已经给你说好了,那么这个时候你的项目就可以用Exceptionless来记录日志了。那我们来创建一个.NET Core 程序吧?

四.在程序中进行远程记录

  nuget完Exceptionless.AspNetCore之后会出现一个txt文件,这个txt文件是给你的一个简单的使用教程, 当然你可以选择删除。

配置中间件

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseExceptionless("xxxxxxxxxxxxxx");
app.UseMvc();
}

这个时候你就可以正常使用了,那么我们现在故意报错一下!

public ActionResult<IEnumerable<string>> Get()
{
throw new Exception("my text info");
return new string[] { "value1", "value2" };
}

现在启动我们的浏览器,报错成功。

那我们的框架收集到了吗?刷洗一下,成功记录下来了。

那它替我们收集了什么信息呢?我们一探究竟!点进去噢!发现这真的太棒了。

除了记录一些基本的http信息之外,竟还有系统版本、系统架构、电脑版本、运行时等。灰常NB啊。

当然我们恶意报错是不对的,可以trycath一下,那么代码就变成了这样。

try
{
throw new ApplicationException(Guid.NewGuid().ToString());
}
catch(Exception ex)
{
ex.ToExceptionless().Submit();
}

除了一些异常记录之外,ExceptionLess还提供了Log (日志)、Feature Usages(功能用途)、404、Custom Event(自定义事件)。扩展的东西是在 ExceptionlessClient.Default类中。有兴趣的话可以研究。

附日志记录封装类(很简单的那种。大佬别打我)

public class ExceptionLessLog :ILog
{ /// <summary>
/// 跟踪
/// </summary>
public void Trace(string message, params string[] tags)
{
ExceptionlessClient.Default.CreateLog(message, LogLevel.Trace).AddTags(tags).Submit();
} /// <summary>
/// 调试
/// </summary>
public void Debug(string message, params string[] tags)
{
ExceptionlessClient.Default.CreateLog(message, LogLevel.Debug).AddTags(tags).Submit();
} /// <summary>
/// 信息
/// </summary>
public void Info(string message, params string[] tags)
{
ExceptionlessClient.Default.CreateLog(message, LogLevel.Info).AddTags(tags).Submit();
} /// <summary>
/// 警告
/// </summary>
public void Warn(string message, params string[] tags)
{
ExceptionlessClient.Default.CreateLog(message, LogLevel.Warn).AddTags(tags).Submit();
} /// <summary>
/// 错误
/// </summary>
public void Error(string message, params string[] tags)
{
ExceptionlessClient.Default.CreateLog(message, LogLevel.Error).AddTags(tags).Submit();
}
}

总结:

  ExceptionLess功能非常强大,你看我都没怎么敲代码就搞定了这么炫酷的功能,没试过的小伙伴赶紧试一试吧.

  • 相关文章1:http://www.cnblogs.com/savorboard/p/exceptionless.html (远程)
  • 相关文章2:https://www.cnblogs.com/yilezhu/p/9193723.html(本地部署)

在.NET Core中使用Exceptionless分布式日志收集框架的更多相关文章

  1. 分布式日志收集框架Flume

    分布式日志收集框架Flume 1.业务现状分析 WebServer/ApplicationServer分散在各个机器上 想在大数据平台Hadoop进行统计分析 日志如何收集到Hadoop平台上 解决方 ...

  2. ExceptionLess异常日志收集框架-1

    哈哈,中秋和代码更配哦,不知不觉一年过半了,祝园友们中秋快乐 前一阵子在博客园看到了一篇博文 http://www.cnblogs.com/savorboard/p/exceptionless.htm ...

  3. 学习笔记:分布式日志收集框架Flume

    业务现状分析 WebServer/ApplicationServer分散在各个机器上,想在大数据平台hadoop上进行统计分析,就需要先把日志收集到hadoop平台上. 思考:如何解决我们的数据从其他 ...

  4. 分布式日志收集之Logstash 笔记(一)

    (一)logstash是什么? logstash是一种分布式日志收集框架,开发语言是JRuby,当然是为了与Java平台对接,不过与Ruby语法兼容良好,非常简洁强大,经常与ElasticSearch ...

  5. C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志

    C#实现多级子目录Zip压缩解压实例 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩, ...

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

    最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...

  7. Net Core集成Exceptionless分布式日志功能以及全局异常过滤

    Net Core集成Exceptionless分布式日志功能以及全局异常过滤 相信很多朋友都看过我的上篇关于Exceptionless的简单入门教程[asp.Net Core免费开源分布式异常日志收集 ...

  8. Net Core免费开源分布式异常日志收集框架Exceptionless

    asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 https://www.cnblogs.com/yilezhu/p/9193723.htm ...

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

    最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...

随机推荐

  1. springAOP之代理

    AOP是指面向切面编程. 在学习AOP之前先来了解一下代理,因为传说中的AOP其实也对代理的一种应用. 首先来看这样一段代码: public interface Hello { void say(St ...

  2. c#学习笔记 day_one

    C#学习笔记 day one Chapter 1 c#概述 1.1 c#概述 C#是微软设计的,简洁的,类型安全的,面向对象的语言.它以c/c++作为基础.它的开发环境是visual studio,最 ...

  3. java中new关键字和newInstance()方法的区别

    1> new是一个关键字,可以说是一个指令: newInstance()是一个方法,Class对象的一个方法. 2> new主要作用是在内存中生成一个实例,而这个类可以没有提前加载到内从中 ...

  4. UML类图10分钟快速入门 - From 圣杰

    虚线箭头指向依赖: 实线箭头指向关联: 虚线三角指向接口: 实线三角指向父类: 空心菱形能分离而独立存在,是聚合: 实心菱形精密关联不可分,是组合: 原文作者:圣杰 原文地址:http://www.j ...

  5. python_重写数组

    class MyArray: '''All the elements in this array must be numbers''' def __IsNumber(self,n): if not i ...

  6. python字符串基本编码

    综述:python中字符串分为字节字符和非字节字符python3中默认输入字符串以非字节字符编码,使用unicode字符集表示,可以使用encode方法转化为ascii,utf-8, utf-16等各 ...

  7. 基于Kafka Connect框架DataPipeline在实时数据集成上做了哪些提升?

    在不断满足当前企业客户数据集成需求的同时,DataPipeline也基于Kafka Connect 框架做了很多非常重要的提升. 1. 系统架构层面. DataPipeline引入DataPipeli ...

  8. ruby klb.rb irb

    1.字符串格式化 Python "%s=%s" % (k, v) 在阅读 Python 字符串格式化的时候,视线先看到字符串的 %s 字样,但是不知道这指的是什么,然后看后面的变量 ...

  9. Oracle客户端安装教程

    链接:http://jingyan.baidu.com/article/3d69c55165bc94f0cf02d7d9.html (按照此链接不会安装错误)

  10. Windows上设置Mozilla Thunderbird邮件客户端后台运行

    作者:荒原之梦 操作系统: Windows 10 Thunderbird版本: 52.6.0(32-bit) Thunderbird官网页面:https://www.mozilla.org/zh-CN ...