2011-11-01 12 views
12

Jeden z modułów Android (AudioFlinger) obsługuje pełne rejestrowanie (za pomocą Tag = AudioFlinger). Pytanie, w jaki sposób mogę zobaczyć te logi w kodzie logowania?Jak uzyskać szczegółowe logowanie w logcat dla konkretnego modułu

Zrobiłem setprop log.tag.AudioFlinger VERBOSE - ale to nie działa. Czy muszę coś zmienić, a następnie ponownie zbudować źródło Androida?

+0

W jaki sposób przeglądasz dane wyjściowe LogCat? W Zaćmienie, tylko DDMS, czy w jakikolwiek inny sposób? – NotACleverMan

+0

Używam powłoki adb, a następnie logcat. Aby dodać tutaj, mogę zobaczyć inne poziomy dzienników z tego samego modułu, np. LOGE - ale tylko, że LOGV nie nadchodzi - więc myślę, że jest to flaga czasu kompilacji, która musi być włączona - tylko nie wydaje się, aby znaleźć, gdzie to umożliwić – KurtCobain

Odpowiedz

24

Dokumentacja logcat tak naprawdę nie pomaga. Ale przy większej liczbie kopnięć udało mi się znaleźć odpowiedź, ponieważ oczekiwałem, że rejestrowanie VERBOSE jest domyślnie wyłączone podczas kompilacji.

Patrząc na cutils/log.h pomaga znaleźć odpowiedź: 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. 
*/ 

Tak, aby włączyć pełne dla każdego pliku źródłowego/modułu: Musimy zdefiniować LOG_NDEBUG jako 0

0

użytkowania dowolna z poniższych metod.

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'. 
Powiązane problemy