如何在 C# 中使用 Exceptionless
背景
“Exceptionless”一词的定义是:无例外。Exceptionless可为您的JavaScript,Node,.NET Core,ASP.NET,Web API,WebForms,WPF,控制台和MVC应用程序提供实时错误报告。它将收集到的信息组织成简单的可操作数据,这些数据将帮助您的应用程序变得异常异常!
Exceptionless专注于实时可配置性,这使其与其他错误监视服务区分开来。如果其他人可能需要更改代码中的配置并重新部署应用程序,则Exceptionless允许您进行更改而无需更改已部署的代码。
入门
Exceptionless为您提供跟踪错误,日志和事件的工具,同时指导您寻求可行的解决方案。首先,您需要确定自己是无主机例外还是使用我们的托管版本。如果您选择使用我们的托管版本,则可以免费开始使用。
托管选项#
创建一个帐户
注册后,系统将提示您创建第一个项目。
通过单击项目列表页面上的“下载并配置客户端”操作按钮来配置您的应用程序。
选择您的项目类型,然后按照说明进行操作。
您的应用程序现在将自动将所有未处理的错误发送到Exceptionless服务。
您还可以发送已处理的错误,功能使用或日志消息以及其他信息(请参阅特定客户端的文档)。
自托管选件#
我们整理了综合的文档,以帮助您开始使用自托管的Exceptionless实例。您可以在此处找到该文档。
发送您的第一个赛事#
一旦确定了帐户并创建了项目,就可以开始接收事件。让我们看一下向Exceptionless发送一个简单的事件。
开机自检 api/v2/events
curl --location --request POST "https://api.exceptionless.com/api/v2/events" \
--header 'Authorization: Bearer YOUR_PROJECT_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{ "type": "error", "date":"2030-01-01T12:00:00.0000000-05:00", "@simple_error": { "message": "Simple Exception", "type": "System.Exception", "stack_trace": " at Client.Tests.ExceptionlessClientTests.CanSubmitSimpleException() in ExceptionlessClientTests.cs:line 77" } }'
您已经创建了帐户,现在呢?让我们开始您的项目设置,然后我们将深入研究一些最佳实践和方法,以增强您对Exceptionless的使用。
客户端集成
ExceptionlessClient配置编号
以下示例显示了可以在应用程序中配置Exceptionless的各种方式(配置文件,属性或代码)。
配置与代码#
using Exceptionless;var client = new ExceptionlessClient(c => {c.ApiKey = "YOUR_API_KEY";c.SetVersion(version);
});// You can also set the api key directly on the default instance.
ExceptionlessClient.Default.Configuration.ApiKey = "YOUR_API_KEY"
配置与属性#
您还可以使用以下属性配置Exceptionless:
using Exceptionless.Configuration;
[assembly: Exceptionless("YOUR_API_KEY")]
仅当在条目或调用程序集中定义了Exceptionless程序集属性时,才会选择该属性。如果将上述属性放置在其他位置,则需要在启动过程中调用以下方法。
using Exceptionless;
ExceptionlessClient.Default.Configuration.ReadFromAttributes(typeof(MyClass).Assembly)
配置与环境变量#
您还可以添加环境变量或应用程序设置,并使用键名Exceptionless:ApiKey
和yourYOUR_API_KEY
作为值。
使用的Web.config #
可以使用web.config或app.config中的config部分配置无例外,具体取决于您拥有的项目类型。安装正确的NuGet软件包应自动添加必要的配置元素。它看起来应该像这样:
<?xml version="1.0" encoding="utf-8"?>
<configuration><configSections><p name="exceptionless" type="Exceptionless.ExceptionlessSection, Exceptionless" /></configSections><!-- attribute names are cases sensitive --><exceptionless apiKey="API_KEY_HERE" />...<system.webServer><modules><remove name="ExceptionlessModule" /><add name="ExceptionlessModule" type="Exceptionless.Mvc.ExceptionlessModule, Exceptionless.Mvc" /></modules>...</system.webServer>
</configuration>
版本号
通过指定应用程序版本,您可以启用其他功能。默认情况下,将尝试从程序集属性中解析应用程序版本。但是,最好使用以下代码指定应用程序版本。
using Exceptionless;
ExceptionlessClient.Default.Configuration.SetVersion("1.2.3");
离线存储#
事件也可以持久保存到磁盘以用于脱机情况,或确保在应用程序重新启动之间不会丢失任何事件。选择文件夹路径时,请确保应用程序在其下运行的身份具有对该文件夹的完全权限。
请注意,这会增加一些开销,因为事件在提交时需要序列化到磁盘,因此不建议用于高吞吐量日志记录方案。
配置文件号
<!-- Use Folder Storage -->
<exceptionless apiKey="YOUR_API_KEY" storagePath="PATH OR FOLDER NAME" />
代码#
// Use folder storage
ExceptionlessClient.Default.Configuration.UseFolderStorage("PATH OR FOLDER NAME");
// Use isolated storage
ExceptionlessClient.Default.Configuration.UseIsolatedStorage();
禁用无例外#
您可以使用该Enabled
设置禁用Exceptionless在测试过程中报告事件。
配置文件号
<exceptionless apiKey="YOUR_API_KEY" enabled="false" />
属性编号
using Exceptionless.Configuration;
[assembly: Exceptionless("YOUR_API_KEY", Enabled=false)]
自托管选项#
还可以将Exceptionless客户端配置为将数据发送到您的自托管实例。通过将设置serverUrl
设置为指向您的Exceptionless实例来配置它。
配置文件号
<exceptionless apiKey="YOUR_API_KEY" serverUrl="http://localhost" />
属性编号
using Exceptionless.Configuration;
[assembly: Exceptionless("YOUR_API_KEY", ServerUrl = "http://localhost")]
https://github.com/exceptionless/Exceptionless
如何在 C# 中使用 Exceptionless相关推荐
- 如何在SharePoint2010中添加Deep Zoom Image
如何在SharePoint2010中添加Deep Zoom Image 应用范围 SharePoint 2010 Foundation:SharePoint 2010 Standard:SharePo ...
- php如何对数组进行分组,如何在PHP中对数组进行分组排序
如何在PHP中对数组进行分组排序 发布时间:2021-01-04 16:28:51 来源:亿速云 阅读:98 作者:Leah 这篇文章将为大家详细讲解有关如何在PHP中对数组进行分组排序,文章内容质量 ...
- html中section与div,如何在html中的section标签内包含div标签
我正在制作一个完整版块的页面网站,如this.每个页面都有自己的标签.目前我的网页有4个部分(呈现不同的背景颜色).如何在html中的section标签内包含div标签 我的第一部分有一个容器div, ...
- html img调用js,html调用js变量 如何在html中输出js文件中的变量
html页面代码中怎么调用js变量?html页面代码中怎么调用js变量,例如 在html代码中插入js代码: a=取浏览你把index1.js 中的onReady 去掉,把index1.js改成 fu ...
- 如何在OpenCV中为InRange阈值选择颜色的最佳HSV值
如何在OpenCV中为InRange阈值选择颜色的最佳HSV值 1. 效果图 2. 源码 参考 之前的博客介绍了如何使用Python,OpenCV通过HSV颜色空间转换检测对象,并进行轨迹追踪.怎么选 ...
- 管理 zabbix_Zabbix 2019 峰会丨看睿象云如何在 Zabbix 中玩转告警
2019年11月29日-30日,为期两天的 Zabbix 大会中国站在北京盛大召开,本届 Zabbix 大会以"新视界,新技术,共建未来新监控!"为主题,为与会人员提供前沿的监控技 ...
- 如何在JavaScript中实现链接列表
If you are learning data structures, a linked list is one data structure you should know. If you do ...
- csv文件示例_如何在R中使用数据框和CSV文件-带有示例的详细介绍
csv文件示例 Welcome! If you want to start diving into data science and statistics, then data frames, CSV ...
- regexp 好汉字符串_如何在JavaScript中使用RegExp确认字符串的结尾
regexp 好汉字符串 by Catherine Vassant (aka Codingk8) 由凯瑟琳·瓦森(Catherine Vassant)(又名Codingk8) 如何在JavaScrip ...
最新文章
- FPGA之道(24)VHDL数据类型
- Oracle格式化数字和日期的方法
- 虚拟机网络配置详解(NAT、桥接、Hostonly)
- html中el表达式遍历list,EL表达式在JS中取出来打印[object HTMLDivElement]的问题
- axure html 360安装扩展,小编搞定win7系统360浏览器添加Axure扩展的设置方案
- 关于打印数组一直输出地址符号的一个解决方法
- 关掉magiskhide_最新版Magisk-v20.4刷入后找不到Magisk Hide怎么办+Magisk Hide开启教程
- thinkphp 3.2视图里添加URL参数 实例
- 诺基亚成功转型:引领新一代5G技术 布局物联网
- Spring源码之FactoryBean接口的作用和实现原理
- JAVA HD japan_小米小爱AI音箱HD【硬件分析】,你了解智能音箱吗
- 相机dc内置滤镜 千奇百怪不离其踪 漫谈数码相机内置滤镜
- cad图纸比对lisp_cad图纸怎么找出差异?教你怎么对比CAD图纸版本差异
- dedecms如何做中英文网站?
- 自动登录163邮箱的批处理
- 无穷小微积分是ZFC大花园的一颗奇葩
- 码率、帧率和I B P帧
- 南陵中学2021高考成绩查询,南陵中学举行2021届高三距高考200天动员大会
- DophinScheduler ui部分 核心代码详细解析——重中之重的src文件夹里究竟有何种玄机
- 获取Android系统APP的Package Name和Activity Name
热门文章
- nginx 注释配置及详解
- adb错误 - INSTALL_FAILED_NO_MATCHING_ABIS
- Python基础七(函数)
- mac下npm/node的安装和卸载、升级;node、npm升级后最后删掉node_modules重新安装
- yii2笔记: 单元测试
- C#学习笔记-Windows窗体自定义初始位置
- js(jQuery)获取时间的方法及常用时间类
- 如何在Microsoft Excel中将文本转换为日期值
- 设计模式-工厂方法(Factory Method)
- CSS属性总结之background