前两天看到了这篇文章免费开源分布式系统日志收集框架 Exceptionless,亲身体会了下,确实不错,按照官方的文档试了试本地部署,折腾一番后终于成功,记下心得在此,不敢独享。

本地部署官方wiki

  • .NET 4.6.1 这个因为我装了VS2015,就没有单独再装了

  • 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运行就成功了
  • IIS 8+ 这个感觉不是强制的,我win7的IIS 7.5也是可以的

  • ElasticSearch 1.7.5 (Elasticsearch 2.x is not yet supported) 到连接地址去下载1.7.5版本,人家已经说明2.x的版本不支持,找这个历史版本得翻好几页,大概在第7页左右,直接给个下载连接:elasticsearch-1.7.5 ,下载完后解压

  • 下载最新的latest Exceptionless release artifact ZIP ,下载后解压,将目录中的elasticsearch.yml 复制到到elasticsearch的解压目录的bin目录中,执行elasticsearch目录中的elasticsearch.bat,看到最后一行有

    started 就说明成功了,打开http://localhost:9200/就能看到相关信息,如果es是部署服务的话复制到config目录中,执行
    service.bat install|remove|start|stop|manager
  • 在IIS中新建一个网站,路径选择Exceptionless解压目录中的wwwroot目录,端口这里可以自定义,比如用8004,应用程序池选4.0集成

  • 修改web.config中的ElasticSearchConnectionString为es的站点http://localhost:9200,修改<add key="BaseURL" value="http://localhost:8004/#" />,注意后面的"#"

  • 修改app.config.*.js中的.constant('BASE_URL', 'http://localhost:8004')

  • 打开http://localhost:8004 就能看到登录页面了,然后创建账户-->创建项目,比如创建一个控制台项目,这里就会提示怎么使用Exceptionless

  • ExceptionlessClient.Default.Startup("oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI"),这里的oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI就是api-key

  • 新建控制台项目,使用 NuGet  安装

    Install-Package Exceptionless

在Main中写测试代码:

//ExceptionlessClient.Default.Startup("qnN5lVebQ7LA94Erkthtkq5z57xX5Wg7ZzafiMdZ");   var client = new ExceptionlessClient(c => {c.ApiKey = "oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI";c.ServerUrl = "http://localhost:8004";});            try{                throw new Exception("test exception "+DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss"));}            catch (Exception ex){client.SubmitException(ex);                //ex.ToExceptionless().Submit();Console.WriteLine("error send");}Console.ReadKey();

这里需要注意注释掉的部分,或者是如下调用:

using Exceptionless.Configuration;
[assembly: Exceptionless("oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI", ServerUrl = "http://localhost:8004")]

namespace ExceptionTest
{    class Program{        static void Main(string[] args){ExceptionlessClient.Default.Startup("oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI");            //var client = new ExceptionlessClient(c => {            //    c.ApiKey = "oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI";            //    c.ServerUrl = "http://localhost:8004";            //});try{                throw new Exception("test exception "+DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss"));}            catch (Exception ex){                //client.SubmitException(ex);                ex.ToExceptionless().Submit();Console.WriteLine("error send");}Console.ReadKey();}}
}

api-key指定两次,也可以通过。

使用config配置:

<configuration><configSections><section name="exceptionless" type="Exceptionless.ExceptionlessSection, Exceptionless" /></configSections><exceptionless apiKey="oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI" serverUrl="http://localhost:8004" />
</configuration>
using Exceptionless.Configuration;//[assembly: Exceptionless("oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI", ServerUrl = "http://localhost:8004")]

namespace ExceptionTest
{    class Program{        static void Main(string[] args){ExceptionlessClient.Default.Startup("oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI");            //var client = new ExceptionlessClient(c => {            //    c.ApiKey = "oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI";            //    c.ServerUrl = "http://localhost:8004";            //});try{                throw new Exception("test exception "+DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss"));}            catch (Exception ex){                //client.SubmitException(ex);                ex.ToExceptionless().Submit();Console.WriteLine("error send");}Console.ReadKey();}}
}

这样就不需要在using那指定了。

接下来就可以在http://localhost:8004/#/type/error/dashboard中看到异常信息

相关文章:

  • 免费开源分布式系统日志收集框架 Exceptionless

  • 使用 Exceptionless 作为 Log Server 搭配 NLog 记录系统日志

  • 使用Elasticsearch 与 NEST 库 构建 .NET 企业级搜索

  • 为elasticsearch集成一些实用 插件以及配置的开箱即用的版本

原文地址:https://dotblogs.com.tw/joysdw12/2015/10/01/exceptionle

ss_nlog_log_server


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

Exceptionless 本地部署相关推荐

  1. 最新发布| Jira官宣中国区本地部署特殊政策,公布Data Center价格

    ​Atlassian官方发布Jira Server版停售消息至今已3个月,面对中国区用户的抗议,官方终于于2021年2月2日推出针对性政策,即将DC版准入门槛从500人下调至25人,并于2月5日召开发 ...

  2. django部署iiswin10_基于Windows平台的Django在本地部署和腾讯云服务器上部署的方法教程(一)...

    环境: VS2015 IIS python3.6.1 django 1.11.14 打开VS2015,新建一个django项目. 这里注意一点:确保python的安装路径中没有中文,没有空格. 我的安 ...

  3. easy-mock本地部署成功,访问报错:EADDRNOTAVAIL 0.0.0.0:7300 解决方案

    easy-mock本地部署成功,访问报错:EADDRNOTAVAIL 0.0.0.0:7300 解决方案 参考文章: (1)easy-mock本地部署成功,访问报错:EADDRNOTAVAIL 0.0 ...

  4. draw.io项目本地部署

    最近想学习draw.io二次开发,而且这本来就是一个很有用的绘图工具,本地部署完成后,再也不用安装庞大的visio,也不用受制于processon了. 本文给出两种部署方法. 1. 使用本地的Inte ...

  5. js打开本地文件夹_vue + ArcGIS 地图应用系列一:arcgis api本地部署(开发环境)

    1. 下载 ArcGIS API for JavaScript 官网地址: https://developers.arcgis.com/javascript/3/ 下载地址:http://links. ...

  6. Skype for Business Server 2019 本地部署

    Skype for Business Server 2019预览版在七月底已经发布,公开披露新增了四个主要功能,云语音邮件.云自动话务员.云呼叫数据连接器.简化的Teams迁移,越来与Office 3 ...

  7. 本地部署Bootstrap3

    Bootstrap3提供的HTML帮助文档,需要在本地部署之后才能查看,不像Bootstrap2的文档可以直接在浏览器中查看.部署步骤如下: 1.安装powershell 人们一般习惯使用Window ...

  8. ArcGIS JavaScript API本地部署离线开发环境

    1 获取ArcGIS JavaScript API API的下载地址http://support.esrichina.com.cn/2011/0223/960.html,在下载页面会看到api和sdk ...

  9. SAP云解决方案和企业本地部署(On-Premise)混合架构下的安全认证权限管理

    SAP云解决方案和企业本地部署(On-Premise)混合架构下的安全认证权限管理 参考文章: (1)SAP云解决方案和企业本地部署(On-Premise)混合架构下的安全认证权限管理 (2)http ...

最新文章

  1. ustc小道消息20211225
  2. 【Linux】一步一步学Linux——虚拟机简介和系统要求(04)
  3. RocketMQ 高可用性
  4. hp-ux 单用户 启动_UX备忘单:搜索与浏览
  5. pip国内加载速度慢解决方法
  6. 自动加密企业关键业务数据 赛门铁克推出全新信息保护解决方案
  7. python全栈学习总结三:函数学习
  8. Hyper-V 2016 系列教程28 Hyper-v平台USB 外设解决方案介绍
  9. Git 分支管理最佳实践(转载)
  10. iOS 让CoreData更简单些
  11. 简单案例之人人网登录界面
  12. openstack中虚拟机CPU与内存布局设计(三)
  13. 禁用 Word 2013/2016 信息检索
  14. Mybatis Plus 3.1.1 lambda 表达式查询时异常 cannot find the corresponding database column name!
  15. php扩展 sockets,php sockets扩展安装配置详解
  16. Js实现购物车加减,价格计算等功能
  17. 生产者-消费者-管程法(java代码示例)
  18. [Web 安全] WASC 和 OWASP两个web安全方面组织机构介绍
  19. 一个ntohs函数的实现
  20. 微信小程序 拍照打卡功能实现

热门文章

  1. MFC,QT与WinForm,WPF简介
  2. ASP.NET Core 中是否有 PostAsJsonAsync() 方法?
  3. EF Core 小技巧:迁移已经应用到数据库,如何进行迁移回退操作?
  4. Dapr牵手.NET学习笔记:用docker-compose部署服务
  5. AgileConfig轻量级配置中心1.4.0发布,重构了发布功能
  6. GeneralUpdate 2021.08.14更新公告
  7. Azure 上的网站如何识别不同国家和地区的用户
  8. NET问答: 发布 asp.net core 时如何修改 ASPNETCORE_ENVIRONMENT 环境变量?
  9. 理解C#泛型运作原理
  10. 国产化之路-统信UOS /Nginx /Asp.Net Core+ EF Core 3.1/达梦DM8实现简单增删改查操作