Exceptionless 是一个开源的实时的日志收集框架,它可以应用在基于 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF,Console,MVC 等技术栈的应用程序中,并且提供了Rest接口可以应用在 Javascript,Node.js 中。它将日志收集变得简单易用并且不需要了解太多的相关技术细节及配置。

在以前,我们做日志收集大多使用 Log4net,Nlog 等框架,在应用程序变得复杂并且集群的时候,可能传统的方式已经不是很好的适用了,因为收集各个日志并且分析他们将变得麻烦而且浪费时间。

1 从官网下载发布包

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

2 参考官方文档 安装部署

https://github.com/exceptionless/Exceptionless/wiki/Self-Hosting

3 鼠标双击 Start.bat(管理员模式) 运行即可

注意:此项目 依赖 ElastaicSearch 项目。(一个搜索引擎项目)先把这个包下载放到目录最好,ps下载不支持断点续传......

访问 http://127.0.0.1:50000/api/v2/status

检测安装状态

二、使用本地服务 Exceptionless 的客户端如何配置

  1. mvc 环境下, 从 nuget 安装 Exceptionless.Mvc
  2. <exceptionless apiKey="fT97ZX7Decl09SsFPKBMB2lWrS6wiWK6V6CiMAtX" serverUrl="http://localhost:50000"/>  其中加了 serverUrl="http://localhost:50000" 即 跑Exceptionless服务的地址

三、通过以上操作,就完成了 Exceptionless  的本地搭建

如果发布在局域网的机器,那么,需要改动 BaseURL节点

改成局域网IP 端口号

还要改 app.config.*.js 里面的baseUrl 配置 麻烦。

开启时候 先把搜索引擎 ES 开启。执行安装包下的 Start-ElasticSearch.ps1 脚本

四 开启Redis 缓冲服务

在Linux 下部署很简单  win server 下 ,安装非官方的redis-win 版本

http://www.redis.io/

下载页- 连接到微软开放技术组 在git上的 redis 3.2 win版本。(不推荐在生产环境用win版本,都说测试运行不稳定............!)

以windows 服务的形式运行。

redis 远程访问
原来是redis默认只能localhost登录,所以需要开启远程登录。解决方法如下:

在redis的配置文件redis.conf中,找到bind localhost注释掉。
注释掉本机,局域网内的所有计算机都能访问。
 band localhost 只能本机访问,局域网内计算机不能访问。
 bind 局域网IP 只能局域网内IP的机器访问, 本地localhost都无法访问。
在redis3.2之后,redis增加了protected-mode,在这个模式下,即使注释掉了bind 127.0.0.1,再访问redisd时候还是报错,如下
修改办法:protected-mode no

五 异常数据-默认存储在文件中,目录

<!-- Folder used to store event post data -->
<add key="StorageFolder" value="|DataDirectory|\storage"/>

而且异常信息进行了加密处理

{
"ProjectId": "590a8e5c002f0e0f44a5ef7f",
"Data": "H4sIAAAAAAAEAMVWW4vbRhT+K0b0oSW2mItkW3pK2W6IIdkN2U1aWAUxksb2EF3MzMjZbVhoSy4tBNKXfWj71D6X0odS0jT/prtx8i9yxpK1F9sNNAnFL9KZmfN93zmf5njvvqUPJtzyLS5lIa22lTBtXgnCvQ5yO8jZxcinxHd6dreLIOxcQn0foWors/z71uUpl0oUORzDNjI/WLxcKi7Nqkh4roU+gNVPk0zkQmnJNGAdwqYKFXZlRVKmXFn+3uI5FInl47aVs8wQ2uVKb+7HfKIB6RpXCjBW4QoVAp4EOC1L3rZiyUFREq7UhamPsE16oIp4jS7AF0Ox7oypBbEx6hLXc+szh+1zrEnDumGcXmTsAF/suXhO+l9JEsd3HZtiiGL3LSSdDsa7mPgIznSXGnVDAsdY314i8dHHtzdv7gy2t8KdW1euDL74pEV6mHhD6hBiHV5QR1ersz8XeVLce1eVXYTp21rRqHR9umzH/6ryDsCBDjYyQLM/fjl5cfTqz4cnj58fP3/08uj32d8PZkdPXv/w/T9ffQNo9Wezc6A0z+xBnvD97VJvD2+yfMSbwsBGpVl8NwTPx3zu7oTHKZMiH4Wmimoyj9d5jIpmeYGgzZvVFH3EdbgxZlJV5Vl0pYNPKzC4tj0cKq6r6BbTYsoXEQSf3YRJyKWhQHNGdWJhNJwqG+Sakvp1DdUFnBpAmYcsVfC9DRSU4ezbvA4srUNQZmOnoUirpMZFfhCcPPz15Omz1z//NfvptyA456sgUDK+EOuYlpIgWLoUggC6PwJ1dmzqk4ocYMosMlcR7YEFi7TMgCzB7TWNWHXPLPWkBjltynUm8vP9WNmOPrnYDuL21jaEyZE647S5D/bufJCWgPc1wIG1gMa4SEyOD2jU/9mA88mTT4Us8gyGhUkxkUUMzS5kGBelCTkAXGiWhpPxgRIxPGQ8K8xc6VPcc13ketBMNmUiZRFIW9oGF7aLPEJdYmyXZSxPQuNHEBC8Z89HIg+Cz3hUjlYs21M1LpS2+T4PrBZUrZYarhus9YEzO03brD5y0JlYJTNU4ktIQsDGFLldqNkYLvmkOuHBdibjsdA81qU0YPtdB4JF2KBfF7EsVDHUrXp8tDBqHb/4+vjZj7Pvvq33ns6Trk1sj6Bq1GcMcufNPbJxdXOrc2PD/AfI4dJN04oFcIuxk/T7CXcdL6KMRnHk0ChCXr9PmUkkoeMi4+H5uUURxZ7tABoMeLDNG/dqtVEsCQAA",
"CharSet": "utf-8",
"MediaType": "application/json",
"ApiVersion": 2,
"UserAgent": "exceptionless/4.0.0",
"ContentEncoding": "gzip",
"IpAddress": "172.16.20.248"
}

UI

用的Angular.js  1.64开发的单页面程序。

主题包地址:https://github.com/exceptionless/Exceptionless.UI

编译后 合并为单个app.*.js

集成了

/**
* @license AngularJS v1.6.4
* (c) 2010-2017 Google, Inc. http://angularjs.org
* License: MIT
*/
(function(window) {'use strict';

-------------------------------------------------------------------

六 集成为win 服务

将ES 注册为win 服务 在bin 下的 -service.bat install remove
----------注意,如果使用了excepless 的 Start-ElasticSearch.ps1 脚本启动,那么他使用的是 node-1 节点的es ,用户数据 在 data目录一定要注意!!!!!!!!!!!!!

示范代码:

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();
}
}

参考:

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

http://www.cnblogs.com/kangwl/p/5859416.html

http://www.cnblogs.com/savorboard/p/exceptionless.html

http://www.cnblogs.com/LiangSW/p/6026817.html

http://www.fwhyy.com/2016/09/use-exceptionLess/

http://mp.weixin.qq.com/s?__biz=MzAwNTMxMzg1MA==&mid=2654067937&idx=1&sn=01e502d9ef5cf77817aa80db6903923d&scene=0#wechat_redirect

ExceptionLess 搭建到本地服务器的更多相关文章

  1. 搭建Git本地服务器

    搭建Git本地服务器 参考文章:http://www.ossxp.com/doc/git/gitolite.html 当前任务,学习中... 公司小范围用法: 服务器上做的: .在服务器上建立一个用户 ...

  2. linux下搭建svn本地服务器

    在linux下搭建svn本地服务器可以很好的管理自己的代码,具体过程如下: # mkdir svn_local # cd svn_local  # svnadmin create led_diplay ...

  3. [ 搭建Redis本地服务器实践系列二 ] :图解CentOS7配置Redis

    上一章 [ 搭建Redis本地服务器实践系列一 ] :图解CentOS7安装Redis 详细的介绍了Redis的安装步骤,那么只是安装完成,此时的Redis服务器还无法正常运作,我们需要对其进行一些配 ...

  4. [ 搭建Redis本地服务器实践系列一 ] :图解CentOS7安装Redis

    上一章 [ 搭建Redis本地服务器实践系列 ] :序言 作为开场白介绍了下为什么要写这个系列,从这个章节我们就开始真正的进入正题,开始搭建我们本地的Redis服务器.那么关于Redis的基本概念,什 ...

  5. [ 搭建Redis本地服务器实践系列 ] :序言

    说起来,是在一个气候适宜的下午,虽然临近下班,不过办公室里还是充满了忙碌的身影,不时的还会从办公区传来小伙伴们为了一个需求而激烈争论的声音,自从入了互联网这个行业,说实话,也就很少休息了,当然了也不全 ...

  6. [ 搭建Redis本地服务器实践系列三 ] :图解Redis客户端工具连接Redis服务器

    上一章 [ 搭建Redis本地服务器实践系列二 ] :图解CentOS7配置Redis  介绍了Redis的初始化脚本文件及启动配置文件,并图解如何以服务的形式来启动.终止Redis服务,可以说我们的 ...

  7. 搭建https本地服务器:如何得到被所有客户端认可的ssl证书

    https,作为http的加密版,作用还是很大的:能够提升网站搜索权重,让你的网站更安全,而且如果你的网站没有使用https的话,将无法作为移动设备原生应用的api接口.可见掌握为网站启用https的 ...

  8. 搭建apache本地服务器·Win

    1.下载apache地址:https://www.apachelounge.com/download/ 注意:下载压缩包如下 httpd-2.4.37-win64-VC15.zip 其中根据自己电脑的 ...

  9. 使用Node.js搭建一个本地服务器

    let http = require('http'); //创建一个http let server = http.createServer((request,response)=>{ //创建一 ...

随机推荐

  1. Maven私仓配置

    <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://mav ...

  2. 怎样用代码方式退出IOS程序

    原文 :iOS Developer Library Technical Q&A QA1561 How do I programmatically quit my iOS application ...

  3. win7无线网络共享

    一.最简单的方法: 1.使用360安全卫士 2.安装一个驱动人生 二.手工设置,参考:http://www.jb51.net/os/windows/63472.html

  4. Ext Form

    表单Ext.form.FormPanel 1.表单 对于传统的b/s应用来说,数据录入元素是放在表单<form>标签里面的.而对于ExtJS应用来说,则可以直接使用FormPanel控件来 ...

  5. 初次使用SQL调优建议工具--SQL Tuning Advisor

    在10g中,Oracle推出了自己的SQL优化辅助工具: SQL优化器(SQL Tuning Advisor :STA),它是新的DBMS_SQLTUNE包. 使用STA一定要保证优化器是CBO模式下 ...

  6. 分割流 SequenceInputStream (转)

    import java.io.*;import java.util.*; class SplitFile{ public static void main(String[] args) throws ...

  7. [MAC OS] NSButton tag 获取

    @IBAction func switchContentLayout(_ sender: Any) { let button : NSButton = sender as! NSButton;}

  8. [Android Pro] activity-alias的使用

    activity-alias是android里为了重复使用Activity而设计的. 当在Activity的onCreate()方法里,执行getIntent().getComponent().get ...

  9. PASCAL VOC数据集The PASCAL Object Recognition Database Collection

    The PASCAL Object Recognition Database Collection News 04-Apr-07: The VOC2007 challenge development ...

  10. Android DiskLruCache 源代码解析 硬盘缓存的绝佳方案

    转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/47251585: 本文出自:[张鸿洋的博客] 一.概述 依然是整理东西.所以最近 ...