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>
  <section 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的方法的详细内容,更多关于C# 中使用 Exceptionless的资料请关注我们其它相关文章!

(0)

相关推荐

  • C#中string.format用法详解

    本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项. String.Format (String, Object[]) 将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项. String.Format (IFormatProvide

  • C# DataGridView添加新行的2个方法

    可以静态绑定数据源,这样就自动为DataGridView控件添加 相应的行.假如需要动态为DataGridView控件添加新行,方法有很多种,下面简单介绍如何为DataGridView控件动态添加新行的两种方 法: 方法一: 复制代码 代码如下: int index=this.dataGridView1.Rows.Add();this.dataGridView1.Rows[index].Cells[0].Value = "1"; this.dataGridView1.Rows[inde

  • 关于C#泛型列表List<T>的基本用法总结

    示例代码如下:namespace SampleListT{  class Program  {      static void Main(string[] args)      {//using System.Collections.Generic; 命名空间中的List<T>//using System.Collections; 命名空间中的ArrayList  //都实现了列表集合,一个是泛形集合,一个是非泛型的//下面我们将Person对象加到集合中 Person p1 = new P

  • c#处理3种json数据的实例

    网络中数据传输经常是xml或者json,现在做的一个项目之前调其他系统接口都是返回的xml格式,刚刚遇到一个返回json格式数据的接口,通过例子由易到难总结一下处理过程,希望能帮到和我一样开始不会的朋友. 一.C#处理简单json数据 json数据: 复制代码 代码如下: {"result":"0","res_info":"ok","queryorder_info":"info"} 我这

  • C# Stream 和 byte[] 之间的转换

    /* - - - - - - - - - - - - - - - - - - - - - - - -   * Stream 和 byte[] 之间的转换  * - - - - - - - - - - - - - - - - - - - - - - - */ /// <summary> /// 将 Stream 转成 byte[] /// </summary> public byte[] StreamToBytes(Stream stream) {     byte[] bytes 

  • C#中使用split分割字符串的几种方法小结

    第一种方法: 复制代码 代码如下: string s=abcdeabcdeabcde;string[] sArray=s.Split(c) ;foreach(string i in sArray)Console.WriteLine(i.ToString()); 输出下面的结果:abdeabdeabde 第二种方法: 我们看到了结果是以一个指定的字符进行的分割.使用另一种构造方法对多个字符进行分割: 复制代码 代码如下: string s=abcdeabcdeabcdestring[] sArra

  • C#几种截取字符串的方法小结

    1.根据单个分隔字符用split截取 例如 复制代码 代码如下: string st="GT123_1"; string[] sArray=st.split("_"); 即可得到sArray[0]="GT123",sArray[1]="1"; 2.利用多个字符来分隔字符串 例如 复制代码 代码如下: string str = "GTAZB_JiangjBen_123";string[] sArray = s

  • C#中List〈string〉和string[]数组之间的相互转换

    1,从System.String[]转到List<System.String> System.String[] str={"str","string","abc"}; List<System.String> listS=new List<System.String>(str); 2, 从List<System.String>转到System.String[] List<System.Strin

  • asp.net(c#)网页跳转七种方法小结

    ①response.redirect 这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但他可以跳 转到任何页面,没有站点页面限制(即可以由雅虎跳到新浪),同时不能跳过登录保护.但速度慢是其最大缺陷!redirect跳转机制:首先是发送一个http请求到客户端,通知需要跳转到新页面,然后客户端在发送跳转请求到服务器端.需要注意的是跳转后内部空间保存的所有数据信息将会丢失,所以需要用到session. 实例 Example that uses Redirect [C#;

  • C# 一个WCF简单实例

    WCF实例(带步骤) 复制代码 代码如下: <xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" /> 本篇转自百度文档,自己试过,确实可以用. 以订票为例简单应用wcf 新建一个wcf服务应用程序 在IService1.cs定义服务契约 复制代码 代码如下: namespace WcfDemo { // 注意: 如果更改此处的接口名称 "IService

随机推荐