1. 程式人生 > 程式設計 >C# 中使用 Exceptionless的方法

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的資料請關注我們其它相關文章!