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