Fehlerberichte
Fehlerberichte sind entscheidend, um Abstürze und Fehler einer Anwendung zu erkennen und zu beheben. Der Babel Licensing Service bietet eine leistungsfähige Funktion, mit der sich Fehlerberichte von Anwendungen sammeln und auswerten lassen.
Dieser Artikel stellt den Beispielcode console_exception_report_example vor. Er zeigt, wie Sie mit der Clientbibliothek von Babel Licensing Fehlerberichte einer Anwendung an den Babel Licensing Service senden. Mit diesem Beispielcode können Entwickler die Ursachen von Ausnahmen nachvollziehen und die Stabilität und Zuverlässigkeit ihrer Anwendungen verbessern.
Beispiel für den Fehlerbericht einer Anwendung
Um mit console_exception_report_example zu beginnen, gehen Sie wie folgt vor:
Git-Client öffnen
Öffnen Sie Ihren bevorzugten Git-Client oder die Befehlszeile.
Repository klonen
Klonen Sie das GitHub-Repository mit dem folgenden Befehl:
git clone https://github.com/babelfornet/console-exception-report-example.gitIn das Projektverzeichnis wechseln
Wechseln Sie nach dem Klonen des Repositorys in das Projektverzeichnis:
cd console_exception_report_exampleBeispiel erkunden und ausführen
Jetzt können Sie den Beispielcode erkunden und ausführen.
Das Beispiel console_exception_report_example zeigt, wie Sie die Clientbibliothek von Babel Licensing in Ihre Anwendung integrieren, um Fehlerberichte zu erstellen und an den Babel Licensing Service zu senden. Der Code im Einzelnen:
- Initialisierung von BabelReporting: Der Beispielcode initialisiert ein
BabelReporting-Objekt, das als Schnittstelle zur Clientbibliothek von Babel Licensing dient. - Benutzerschlüssel: Der Beispielcode weist einen Benutzerschlüssel (
UserKey) zu, der den Client zum Melden von Ausnahmen autorisiert. Ersetzen Sie ihn durch einen gültigen Benutzerschlüssel. Wie Sie einen Benutzerschlüssel erzeugen, lesen Sie in den Abschnitten Floating-Lizenz oder Lizenzaktivierung. - Konfiguration: Die Dienst-URL von Babel Reporting wird so konfiguriert, dass die Verbindung zum Babel Licensing Service hergestellt wird. Passen Sie die URL bei Bedarf an.
// Configure Babel Reporting Service URL
reporting.Configuration.ServiceUrl = "http://127.0.0.1:5005";- Ereignis BeforeSendReport: Der Beispielcode abonniert das Ereignis
BeforeSendReport, mit dem Sie den Fehlerbericht vor dem Senden anpassen können. In diesem Ereignishandler werden dem Bericht benutzerdefinierte Eigenschaften wiecmdline(Befehlszeile) undusername(Name des aktuellen Benutzers) hinzugefügt.
reporting.BeforeSendReport += (s, e) => {
// Set report custom properties
e.Report.Properties.Add("cmdline", Environment.CommandLine);
e.Report.Properties.Add("username", Environment.UserName);
};- Ausnahmebehandlung und Berichterstellung: Der Code zeigt ein Menü, mit dem sich verschiedene Arten von Ausnahmen simulieren lassen. Tritt eine Ausnahme auf, wird sie abgefangen, und ihre Details werden einschließlich des Stacktrace angezeigt. Anschließend wird die Methode
SendExceptionReportdesBabelReporting-Objekts aufgerufen, die den Fehlerbericht an den Babel Licensing Service sendet.
static async void TryThrowException(Action throwException)
{
try
{
throwException();
}
catch (Exception ex)
{
Console.WriteLine("Exception thrown:");
Console.WriteLine(ex.StackTrace);
reporting.SendExceptionReport(UserKey, ex);
}
}- Beispiele für Ausnahmen: Der Beispielcode enthält vier Ausnahmeszenarien:
DivideByZeroException,IndexOutOfRangeException,ArgumentNullExceptionundOutOfMemoryException. Jedes Szenario zeigt anhand passender Codeausschnitte, wie eine bestimmte Art von Ausnahme ausgelöst und abgefangen wird.
Die vom Beispiel gesendeten Berichte können Sie in der Ansicht „Berichte“ von Babel Desktop durchsehen oder, mit der Data-Center-Edition, auf der Seite „Reports“ der Webanwendung.
Das Beispiel console_exception_report_example zeigt in der Praxis, wie Sie mit dem Babel Licensing Service Fehlerberichte von Anwendungen sammeln und auswerten. Wenn Sie die Clientbibliothek von Babel Licensing in Ihre eigenen Anwendungen integrieren und den Beispielcode nutzen, gewinnen Sie Einblick in Abstürze, beheben Fehler schneller, verbessern die Benutzererfahrung und treffen datengestützte Entscheidungen über künftige Verbesserungen. Klonen Sie das Repository, erkunden Sie den Code und nutzen Sie Fehlerberichte, um die Stabilität und Zuverlässigkeit Ihrer Anwendungen zu verbessern.