如何在 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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP VNext 开源服务容错处理库P
- 下一篇: 如何使用 C# 中的 Tuple