2011-11-01 9 views
12

Uno dei moduli Android (AudioFlinger) supporta la registrazione dettagliata (con Tag = AudioFlinger). Domanda è come posso vedere quei registri nel logcat?Come ottenere la registrazione dettagliata nel logcat per un modulo specifico

Ho fatto il setprop log.tag.AudioFlinger VERBOSE - ma non sembra funzionare. Devo cambiare qualcosa e quindi ricostruire nuovamente la sorgente Android?

+0

Come stai visualizzando l'uscita LogCat? In eclissi, solo il DDMS o in altro modo? – NotACleverMan

+0

sto usando la shell adb e quindi semplicemente logcat. Solo per aggiungere qui, sono in grado di vedere altri livelli di registro dallo stesso modulo, ad es. LOGE - ma solo che LOGV non arriverà - quindi penso che questo sia un flag di compilazione che deve essere abilitato - non riesco a trovare dove abilitare – KurtCobain

risposta

24

La documentazione di logcat non è di grande aiuto. Ma con più scavo sono riuscito a trovare la risposta, dato che mi aspettavo che il logging VERBOSE fosse di default OFF al momento della compilazione.

Guardando le cutils/log.h aiuta a trovare la risposta: http://www.netmite.com/android/mydroid/system/core/include/cutils/log.h

/* 
* Normally we strip LOGV (VERBOSE messages) from release builds. 
* You can modify this (for example with "#define LOG_NDEBUG 0" 
* at the top of your source file) to change that behavior. 
*/ 

Quindi, per consentire VERBOSE per qualsiasi/modulo di file sorgente: Dobbiamo definire LOG_NDEBUG come 0

0

Usa uno dei seguenti metodi.

1) Add or uncomment "`#define LOG_NDEBUG 0`" at top of any module file. 
2) In Android.mk or <module>.mk file, add `LOCAL_CFLAGS += -DLOG_NDEBUG=0` 

In logcat, logcat | grep -E 'tag1|tag2'.