2013-06-29 16 views
8

Wie ist der Status der Anmeldung(mit Xamarin Studio Indie).Logging Framework auf Xamarin iOS

Ich habe versucht, NLog verwenden, aber es verweist System.ServiceModel - so klagt Xamarin, dass ich Business Edition benötigen (nicht so viel nur zahlen verwenden NLog!)

log4net auch nicht funktioniert, weil es Klassen verweist in System.Configuration, die nicht in Xamarin/MonoTouch existieren.

Ich finde es überraschend, dass es keine Protokollierungslösung gibt, entweder in XS, oder von den großen Protokollierern.

Was fehlt?

Antwort

8

Die Anmeldung bei iOS unterscheidet sich etwas von der Anmeldung bei einer Desktop/Server-Anwendung, da der Benutzer keine (einfache) Möglichkeit hat, die Protokolle abzurufen.

Es gibt mehrere Optionen, aber:

  1. Für Ihre eigenen Debug-Zwecke:

    Verwendung System.Console.WriteLine(). Das entspricht Obj-C NSLog

  2. Für die Remote-Protokollierung:

    einen Dritten Rahmen verwenden z.B.

    • Testflug SDK (für Beta-Tests, aber es gibt eine private Beta für die Produktion als auch Builds)

    • Crashlytics

    Einige Lösungen auch die Remote-Protokollierung bieten, so dass Sie Zugriff haben können Absturz von Berichten und Geräteprotokollen

    Es versteht sich, dass Sie die meisten dieser Frameworks von Xamarin.iOS verwenden können, überprüfen https://github.com/mono/monotouch-bindings

+0

Für die Remote-Protokollierung Xamarin Insights ist eine gute Option: http://developer.xamarin.com/guides/cross-platform/insights/application/#Logging_Reports_to_Xamarin_Insights – pauldendulk

2

gegabelt ich Apache log4net und machte es mit einigen wesentlichen Appen unter Monotouch kompilieren. Erwarte Bugs, da es nicht vollständig getestet wurde, aber es ist ein Anfang.

monotouch-log4net @ GitHub

2

Crittercism nur einen offiziellen Crash-Reporting und Logging-Framework für Xamarin freigegeben (Full Disclosure: Ich bin einer der Co-Gründer). Es bietet volle Unterstützung für die automatische Protokollierung nicht behandelter Ausnahmen und Signale (Signale wie SIGSEGV werden elegant gehandhabt, indem die Mono-Laufzeitumgebung sie verarbeiten und den vollständigen Stack-Trace an Crittercism übergeben). Sie können Protokolle auch an Crittercism senden, indem Sie die ausgeführte Ausnahmeprotokollierung verwenden. Sie können es aus dem Laden hier Xamarin herunterladen:

http://components.xamarin.com/view/crittercism

6

Ich glaube, Sie Xamarin Insights für die Protokollierung verwenden können. Xamarin Insights

+0

http://developer.xamarin.com/guides/cross -platform/insights/application/# Logging_Reports_to_Xamarin_Insights – pauldendulk