2016-06-20 9 views
0

Ich versuche jetzt Log Methode von Prism.Logging.DebugLogger von Prism6.1.0-pre5 auf Xamarin.Forms zu verwenden, um meine Anwendung zu protokollieren. Aber es gibt nichts aus.Verwendung von Prism's DebugLogger

DebugLogger ist in this implementiert. Aber im Assembly Browser, Die Zeile Debug.WriteLine(messageToLog); sieht nicht so aus: this.

Bezieht sich dies auf dieses Problem? Wie kann ich es richtig benutzen?

+0

Wie erhalten Sie einen Verweis auf den Logger? Laufen Sie im Debug-Modus? Haben Sie das Ausgabefenster gründlich überprüft? –

+0

@BrianLagunas Ich habe keine Referenz. Ich habe gerade von Prism's Quelle gefunden, und ich war daran interessiert, es zu benutzen./Wahrscheinlich Ja, ich laufe im Debug-Modus mit [Debug> iPhone 6s iOS 9.3]. Gibt es eine Option für den Debug-Modus?/Ja, ich habe das Ausgabefenster überprüft. Wenn ich 'System.Diagnostics.Debug.WriteLine (" Hallo ");' ausgeführt habe, habe ich "Hallo" auf meinem Ausgabefenster. –

Antwort

0

Es gibt nichts aus, weil, wie Sie bereits im Decompiler gesehen haben (der Assembly-Browser von Xamarin Studio dekompiliert .NET-Code), die Log Implementierung nicht viel, es ruft nur string.Format.

Wahrscheinlich verwenden Sie die Release-Version von Prism.dll, wahrscheinlich von NuGet, so dass die Debug.WriteLine vom Compiler entfernt wurde, wenn Prism.dll von den Autoren für die Verteilung an NuGet kompiliert wurde.

Eine andere Sache: der Standard-Logger, der von Xamarin Forms PrismApplicationBase erstellt wird, ist DebugLogger. Wenn ein Fehler auftritt, wenn auf eine Seite zu navigieren (Ich habe einen Fehler in XAML zum Beispiel) die Umsetzung in PageNavigationService Anrufe Standardlogger Fehler zu schreiben und wirft dann den Fehler:

https://github.com/PrismLibrary/Prism/blob/master/Source/Xamarin/Prism.Forms/Navigation/PageNavigationService.cs#L374

Mit dem Standard-Logger Fehler wird aus den oben genannten Gründen nicht geschrieben, aber selbst wenn der Fehler von PageNavigationService ausgelöst wird, wird im Ausgabefenster nichts angezeigt und die App stürzt auch nicht ab.