So erhöhen Sie die Konsolenausgabe an der Android-Log-Klasse

Für Standard-Anmeldung android-Plattform hat eine begrenzte Menge an Zeichen für Konsolenausgabe. Etwas gleich ein bisschen mehr als 3000. Wenn also die Nachricht länger als 3000 Zeichen ist, wird sie nicht auf dem Bildschirm angezeigt.

Ich habe keine bessere Lösung gefunden als dies:

  • Welche Android-Geräte unterstützen jni?
  • Datum und Zeit ändern Hörer in Android?
  • Sie müssen eine nicht null-Ansicht übergeben
  • Kauf Android-Gerät für die Entwicklung
  • Android EPUBLIB lesen / laden Inhalt
  • Debugging Reagieren Native über adb tcpip
  • public class Log { private static int mode = android.util.Log.INFO; public static void e(String tag, String msg, Throwable tr) { if ((mode & android.util.Log.ERROR) <= 0) return; android.util.Log.e(tag, msg, tr); } public static void e(String tag, String msg) { if ((mode & android.util.Log.ERROR) <= 0) return; android.util.Log.e(tag, msg); } public static void w(String tag, String msg) { if ((mode & android.util.Log.WARN) <= 0) return; android.util.Log.w(tag, msg); } public static void i(String tag, String msg) { if ((mode & android.util.Log.INFO) <= 0) return; android.util.Log.i(tag, msg); } public static void d(String tag, String msg) { if ((mode & android.util.Log.DEBUG) <= 0) return; int length = msg.length(); int kind = 3000; if (length >= kind) { int count = length / kind; int u = length % kind; int i = 0; for (i = 0; i < count; ++i) { int start = i * kind; int end = start + kind; android.util.Log.d(tag, msg.substring(start, end)); } if (u != 0) { int start = length - u; int end = start + u; android.util.Log.d(tag, msg.substring(start, end)); } } else { android.util.Log.d(tag, msg); } } } 

    Gibt es eine bessere Lösung für dieses Problem?

  • GoogleApiClient.connect () 'wurde erwartet, dass es vom Typ Interface ist, aber es wurde gefunden, dass es virtuell ist
  • AlarmManager Wiederholen Alarm fehlt zufällig, wenn das Telefon nicht in Gebrauch ist
  • Wie man eine GCM-Registrierungs-ID in MySQL eindeutig speichert
  • Wie deklarieren Sie den Inhalt einer dynamischen Schaltfläche im Code
  • Was ist die Warnausgabe "Ignorieren InnerClasses" während der Kompilierung?
  • Floating Action Button blockiert andere Komponenten
  • One Solution collect form web for “So erhöhen Sie die Konsolenausgabe an der Android-Log-Klasse”

    Ein Workaround für die 1024 Zeichengrenze bei großen Ausgängen (JSON etc) ist es, eine einfache For-Loop zu machen, die sie in Chunks protokolliert.

    Es kann nicht so aufwendig sein wie deine, aber es ist einfach auf die Augen und wird nicht den Code zu viel verstopfen.

      String json = data.toString(); int length = json.length(); for(int i=0; i<length; i+=1024) { if(i+1024<length) Log.d("JSON OUTPUT", json.substring(i, i+1024)); else Log.d("JSON OUTPUT", json.substring(i, length)); } 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.