2015-02-10 9 views
15

Druck Ich habe den folgenden Testcode in meiner Aktivität:Warum sind Log.d() und Log.v() nicht

@Override 
public void onStart() { 
    super.onStart(); 
    Log.e(CLASS_NAME, "ERROR onStart()"); 
    Log.w(CLASS_NAME, "WARN onStart()"); 
    Log.i(CLASS_NAME, "INFO onStart()"); 
    Log.d(CLASS_NAME, "DEBUG onStart()"); 
    Log.v(CLASS_NAME, "VERBOSE onStart()"); 

Auf der logcat Ansicht in Android Studio, es druckt nur:

02-10 15:56:10.190 6194-6194/org.example.my_app E/MyActivity﹕ ERROR onStart() 
02-10 15:56:10.190 6194-6194/org.example.my_app W/MyActivity﹕ WARN onStart() 
02-10 15:56:10.190 6194-6194/org.example.my_app I/MyActivity﹕ INFO onStart() 

auf dem Feld wird das Menü auf Log level: “Verbose” gesetzt, und wenn ich in das Menü gehen daneben, wählen “Edit filter configuration” wird “by Log Level” auch “Verbose” gesetzt. Warum drucken die Log.d() und Log.v() nichts? Was könnte ich vermissen? Irgendwelche Vorschläge würden geschätzt werden.

+0

Das ist seltsam ... – webo80

Antwort

10

Android Studio filtert Zeilen, die bereits protokolliert wurden, aber Log selbst kann bei der Protokollierung einige Ebenen filtern. Siehe Log.isLoggable:

Die Standardstufe eines Tags ist auf INFO eingestellt.

(jedoch auf viele Telefon ist es tatsächlich zu DEBUG oder VERBOSE gesetzt.)

+1

Vielen Dank. Der Rest der Geschichte: Dies kann auf Tag-Ebene in der Shell bis zum nächsten Neustart oder durch Erstellen einer Konfigurationsdatei geändert werden. Mein Telefon erkennt die Konfigurationsdatei nicht. [Hier ist ein Blogbeitrag] (http://vnnotech.in/?p=198), der vorschlägt, alles auf "info" mit Ihrer eigenen Logger-Klasse zu protokollieren, die zusätzliche Filterung bietet. – Paramaeleon

+0

könnte es gerätespezifische versuchen http://StackOverflow.com/a/43999262/2783229 – nitesh

+0

Achten Sie auf die Dropdown-Filter im Logcat-Bereich. –

16

akzeptierte Antwort funktioniert nicht

Meine Lösung:

wenn Ihr Log.d nicht funktioniert dann ist Log.wtf Arbeit

Es ist für mich zu arbeiten, kann dies auf andere nützlich ist, die Lösung zu finden

+0

Log.v arbeitete auch – user2924714

+0

aber in einigen Fällen Log.v auch nicht funktioniert –

+0

Verwenden von 'Log.wtf' ist im Grunde wie' Log.e', nur schwerer. Das ist also nicht wirklich eine Verbesserung gegenüber dem, was die Frage bereits darstellt. Das OP versucht, logcat zu bekommen, um * weniger * schwere Log-Level, D und V, anzuzeigen. – LarsH

3

ich alles versuchte. Von log.d bis log.wtf. Aber nichts hat funktioniert.

Dann habe ich mein Android Studio neu gestartet. Danach begann der Debugger wieder zu arbeiten.

Hoffe das hilft jemandem.

0

Ihre Entwickler Option ausschalten dann Telefon neu starten Nach diesem auf Entwickler Option es auf jeden Fall durch sicher funktioniert !!

+0

Das hat für mich funktioniert! –

+0

@RichMorey Bitte wählen Sie meine Antwort, wenn es Ihnen hilft –

1

Fix Für meizu Telefon

Einstellungen -> Barrierefreiheit ->Entwickleroptionen -> erweiterte Logging-> set "Alle zulassen"

Für Meizu MX4 (Flyme 6.1.0.0) und M2 (Flyme 6.1.0.0G):

Einstellungen-> Barrierefreiheit ->Entwickleroptionen -> Leistung Optimierung -> Erweiterte Protokollierung -> set "Alle zulassen"

Huawei, logcat not showing the log for my app?

Für andere Telefon Suche In "Entwickleroptionen": Option "Protokollierung" und "Alle" einstellen.

Verwandte Themen