Jak wyprowadzać komunikaty do konsoli Eclipse podczas tworzenia aplikacji na Androida

164

Jak mogę wydrukować komunikaty (takie jak flaga) do konsoli Eclipse (lub dziennika) podczas tworzenia i debugowania aplikacji na Androida

Emanuil Rusev
źródło

Odpowiedzi:

153

Zamiast próbować Logwysłać dane do konsoli, wyświetli LogCat, który można znaleźć w Eclipse, przechodząc do: Window-> Show View-> Other… -> Android-> LogCat

Spójrz na odniesienie doLog .

Zaletą korzystania z LogCat jest to, że możesz drukować w różnych kolorach w zależności od typu dziennika, np .: Log.ddrukuje na niebiesko, Log.edrukuje na pomarańczowo. Ponadto można filtrować według tagu dziennika , wiadomości dziennika , identyfikator procesu i / lub nazwy aplikacji . Jest to bardzo przydatne, gdy chcesz po prostu zobaczyć dzienniki aplikacji i oddzielić inne elementy systemu.

m6tt
źródło
3
moje, moje, jakie to proste ... te małe ciekawostki pomagają tym z nas, którzy są NOWI na tych platformach. Dzięki m6tt! Do Twojej wiadomości: jest tutaj opcja filtra, która pomaga BARDZO DUŻO ~
Sage
48
Log.v("blah", "blah blah");

Aby je zobaczyć, musisz dodać widok dziennika Androida w zaćmieniu. Istnieją również inne metody w zależności od wagi komunikatu (błąd, szczegółowość, ostrzeżenie itp.).

Alex
źródło
2
+1 A co powiesz na zrobienie tego w bibliotece? Próbowałem, ale nic to nie pokazuje na logcat.
Roy Lee
29

System.out.println()również wyprowadza do LogCat. Zaletą używania starego dobrego System.out.println()jest to, że możesz wydrukować obiekt taki jak System.out.println(object)na konsoli, jeśli chcesz sprawdzić, czy zmienna jest zainicjowana, czy nie.

Log.d, Log.v, Log.wItp metod tylko pozwalają drukować ciągi do konsoli, a nie obiektów. Aby to obejść (jeśli chcesz), musisz użyć String.format.

Tirtha
źródło
3
Lub w przypadku instancji obiektów możesz zawsze użyć toString(). To właśnie System.out.println(Object)robi wewnętrznie. Jeśli używana jest toString()metoda Objectsama w sobie (np. Dla typów tablicowych), możesz nie otrzymać użytecznych wyników.
Maarten Bodewes
oszczędza mi wpisywania. Zawsze uwielbiam, gdy Objects same o siebie dbają. ; )
Tirtha
Nie zrzuca obiektu, drukuje to samo, co Log.
Francisco Corrales Morales
... i nadal oszczędza mi tworzenia stałej łańcuchowej dla Log.cokolwiek i wpisywania jej za każdym razem, gdy chcę coś w konsoli, i formatowania obiektu na łańcuch.
Tirtha,
1
Jeśli twój obiekt ma wartość null, toString () oczywiście wyrzuci NPE. Nigdy nie powinieneś wywoływać metody toString () na obiekcie w instrukcji log, ale raczej użyj biblioteki rejestrowania, która wykona te sprawdzenia, jeśli po prostu przekażesz obiekt.
Thomas Eizinger
15

Używam metody Log.d również proszę zaimportować import android.util.Log;

Log.d("TAG", "Message");

Pamiętaj jednak, że jeśli chcesz zobaczyć komunikaty debugowania, nie używaj opcji Uruchom jako, a raczej użyj opcji „Debuguj jako”, a następnie wybierz opcję Aplikacja Android. W przeciwnym razie nie zobaczysz komunikatów debugowania.

Mahmud Ahsan
źródło
0

Używam poniższego formatu dziennika do drukowania treści w logCat

Log.e("Msg","What you have to print");
Madhu
źródło
Pierwszym parametrem jest tag, a nie wiadomość .
msanford,