C# 中使用 Exceptionless的方法
背景
“Exceptionless”一詞的定義是:無例外。Exceptionless可為您的JavaScript,Node,.NET Core,ASP.NET,Web API,WebForms,WPF,控制臺和MVC應(yīng)用程序提供實時錯誤報告。它將收集到的信息組織成簡單的可操作數(shù)據(jù),這些數(shù)據(jù)將幫助您的應(yīng)用程序變得異常異常!
Exceptionless專注于實時可配置性,這使其與其他錯誤監(jiān)視服務(wù)區(qū)分開來。如果其他人可能需要更改代碼中的配置并重新部署應(yīng)用程序,則Exceptionless允許您進行更改而無需更改已部署的代碼。
入門
Exceptionless為您提供跟蹤錯誤,日志和事件的工具,同時指導(dǎo)您尋求可行的解決方案。首先,您需要確定自己是無主機例外還是使用我們的托管版本。如果您選擇使用我們的托管版本,則可以免費開始使用。
托管選項
創(chuàng)建一個帳戶
注冊后,系統(tǒng)將提示您創(chuàng)建第一個項目。
通過單擊項目列表頁面上的“下載并配置客戶端”操作按鈕來配置您的應(yīng)用程序。
選擇您的項目類型,然后按照說明進行操作。
您的應(yīng)用程序現(xiàn)在將自動將所有未處理的錯誤發(fā)送到Exceptionless服務(wù)。
您還可以發(fā)送已處理的錯誤,功能使用或日志消息以及其他信息(請參閱特定客戶端的文檔)。
自托管選件
我們整理了綜合的文檔,以幫助您開始使用自托管的Exceptionless實例。您可以在此處找到該文檔。
發(fā)送您的第一個賽事#
一旦確定了帳戶并創(chuàng)建了項目,就可以開始接收事件。讓我們看一下向Exceptionless發(fā)送一個簡單的事件。
開機自檢 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" } }'
您已經(jīng)創(chuàng)建了帳戶,現(xiàn)在呢?讓我們開始您的項目設(shè)置,然后我們將深入研究一些最佳實踐和方法,以增強您對Exceptionless的使用。
客戶端集成
ExceptionlessClient配置編號
以下示例顯示了可以在應(yīng)用程序中配置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")]
僅當(dāng)在條目或調(diào)用程序集中定義了Exceptionless程序集屬性時,才會選擇該屬性。如果將上述屬性放置在其他位置,則需要在啟動過程中調(diào)用以下方法。
using Exceptionless; ExceptionlessClient.Default.Configuration.ReadFromAttributes(typeof(MyClass).Assembly)
配置與環(huán)境變量
您還可以添加環(huán)境變量或應(yīng)用程序設(shè)置,并使用鍵名Exceptionless:ApiKey和yourYOUR_API_KEY作為值。
使用的Web.config
可以使用web.config或app.config中的config部分配置無例外,具體取決于您擁有的項目類型。安裝正確的NuGet軟件包應(yīng)自動添加必要的配置元素。它看起來應(yīng)該像這樣:
<?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>
版本號
通過指定應(yīng)用程序版本,您可以啟用其他功能。默認情況下,將嘗試從程序集屬性中解析應(yīng)用程序版本。但是,最好使用以下代碼指定應(yīng)用程序版本。
using Exceptionless; ExceptionlessClient.Default.Configuration.SetVersion("1.2.3");
離線存儲
事件也可以持久保存到磁盤以用于脫機情況,或確保在應(yīng)用程序重新啟動之間不會丟失任何事件。選擇文件夾路徑時,請確保應(yīng)用程序在其下運行的身份具有對該文件夾的完全權(quán)限。
請注意,這會增加一些開銷,因為事件在提交時需要序列化到磁盤,因此不建議用于高吞吐量日志記錄方案。
配置文件號
<!-- 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設(shè)置禁用Exceptionless在測試過程中報告事件。
配置文件號
<exceptionless apiKey="YOUR_API_KEY" enabled="false" />
屬性編號
using Exceptionless.Configuration; [assembly: Exceptionless("YOUR_API_KEY", Enabled=false)]
自托管選項
還可以將Exceptionless客戶端配置為將數(shù)據(jù)發(fā)送到您的自托管實例。通過將設(shè)置serverUrl設(shè)置為指向您的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的方法的詳細內(nèi)容,更多關(guān)于C# 中使用 Exceptionless的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C# ping網(wǎng)絡(luò)IP 實現(xiàn)網(wǎng)絡(luò)狀態(tài)檢測的方法
下面小編就為大家?guī)硪黄狢# ping網(wǎng)絡(luò)IP 實現(xiàn)網(wǎng)絡(luò)狀態(tài)檢測的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08C#正則表達式分解和轉(zhuǎn)換IP地址實例(C#正則表達式大全 c#正則表達式語法)
這是我發(fā)了不少時間整理的C#的正則表達式,新手朋友注意一定要手冊一下哦,這樣可以節(jié)省很多寫代碼的時間。下面進行了簡單總結(jié)2013-12-12C#版的 Escape() 和 Unescape() 函數(shù)分享
從網(wǎng)上看到兩個方法, C# 版的 Escape() 和 Unescape(),收藏下。2011-05-05