it-swarm.com.de

Xamarin Android - Deaktiviere Mono Logs

Dies mag zwar nicht besonders wählerisch sein, aber in Xamarin werden beim Ausführen einer Android-App Tonnen von Zeilen in der Konsole ausgegeben, die mit [Mono] beginnen.

Gibt es eine Möglichkeit, diese Protokolle zu deaktivieren?

Danke im Voraus

27
wyzkid207

Dies kann erreicht werden, indem der Status der Monos-Ausführungsumgebung auf dem Gerät geändert wird. Dies ist nur eine Reihe von Umgebungsvariablen, die das Verhalten von Monos verändern (sei es Speicherbereinigung, Protokollierung usw.). In diesem Fall müssen zum Ändern des Protokollierungsverhaltens die in den Umgebungsvariablen MONO_LOG_LEVEL und MONO_LOG_MASK gespeicherten Werte geändert werden.

Xamarin.Android bietet zwei Mechanismen, mit denen Entwickler die Ausführungsumgebung ändern können:

  • 1. Mit adb Shell setprop debug.mono.env. Dies kann als Nachbearbeitungsaktion erfolgen.
  • 2. Verwenden einer Umgebungserstellungsdatei zum Ändern des Ausführungsumgebungsstatus pro Projekt.

Ich bevorzuge Methode 2, da es einfacher ist, eine Textdatei zu bearbeiten, als Build-Aktionen zu ändern. Führen Sie dazu die folgenden Schritte aus.

Hinzufügen einer Umgebungsdatei

Fügen Sie dem Stammverzeichnis Ihres Xamarin.Android-Projekts eine Nur-Text-Datei mit dem Namen environment.txt hinzu. enter image description here

Klicken Sie mit der rechten Maustaste auf environment.txt und setzen Sie die Erstellungsaktion auf AndroidEnvironment.

Die Umgebungsdatei besteht aus einer Reihe von key = value Paaren, die durch Zeilenumbrüche getrennt sind. Für die Protokollierung können wir die folgenden Variablen festlegen:

MONO_LOG_LEVEL

  • debug
  • info
  • message
  • Warnung
  • kritisch
  • Fehler

MONO_LOG_MASK

  • asm
  • dll
  • cfg
  • alle
  • Typ
  • gc

Zum Beispiel können wir die meisten Nachrichten ignorieren, indem wir MONO_LOG_LEVEL nach Fehler filtern:

environment.txt

MONO_LOG_LEVEL=error

Hintergrund lesen:

48
matthewrdev

Was ich tue, ist unten. Es ist immer noch unvollkommen, da das Fenster 10.000 Protokolle enthält, einschließlich der versteckten, so dass meine schließlich verschwinden. Außerdem kann ich scheinbar nicht aus dem Fenster kopieren.

1) Verwenden Sie für alle meine Protokolle das Tag "AAA".
2) Zeigen Sie die Ausgabe unter Extras> Android> Geräteprotokoll an
3) Alphabetisch nach Tag sortieren.
4) Ich finde, dass die Ausgänge unter mir immer noch ablenken. Ich kann auf den "Filter" für das Tag klicken und alles außer meinem deaktivieren. Ärgerlicherweise muss ich diesen Schritt regelmäßig wiederholen, da neue Tags nicht standardmäßig gefiltert werden.

 enter image description here

0