Okno Logcat w Android Studio ułatwia debugowanie aplikacji przez
wyświetlania w czasie rzeczywistym dzienników z urządzenia, na przykład wiadomości
dodano do aplikacji za pomocą zajęć Log
, wiadomości
z usług działających na Androidzie lub komunikatów systemowych, np. podczas
zachodzi zbieranie danych. Gdy aplikacja zgłosi wyjątek, Logcat wyświetli komunikat
a po nim powiązany zrzut stosu zawierający linki do wiersza kodu.
Pierwsze kroki z oknem Logcat
Aby wyświetlić komunikaty logu dotyczące aplikacji, wykonaj te czynności.
- W Android Studio skompiluj i uruchom aplikację na urządzenia lub emulatora.
- Wybierz Widok > Okna narzędziowe > Logcat na pasku menu.
Domyślnie Logcat przewija się na koniec. klikanie w widoku Logcat lub przewijanie; za pomocą kółka myszy wyłącza tę funkcję. Aby włączyć go z powrotem, kliknij Przewiń na koniec na pasku narzędzi. Za pomocą paska narzędzi możesz też wyczyścić, wstrzymać lub ponownie uruchomić aplikację Logcat.
Rysunek 1. Logcat formatuje logi, aby ułatwić skanowanie przydatnych informacji. takich jak tagi i wiadomości, oraz identyfikować różne typy dzienników, ostrzeżenia i błędy.
Jak odczytywać logi
Każdy dziennik zawiera datę, sygnaturę czasową, proces i identyfikator wątku, tag, nazwę pakietu,
oraz powiązaną z nim wiadomością. Różne tagi mają niepowtarzalny kolor
który pomaga zidentyfikować typ dziennika. Każdy wpis logu ma priorytet o wartości FATAL
.
ERROR
, WARNING
, INFO
, DEBUG
lub VERBOSE
.
Na przykład ten komunikat logu ma priorytet DEBUG
i tag
ProfileInstaller
:
2022-12-29 04:00:18.823 30249-30321 ProfileInstaller com.google.samples.apps.sunflower D Installing profile for com.google.samples.apps.sunflower
Skonfiguruj widok logu
Standardowy widok dziennika zawiera datę, godzinę i identyfikator wątku, tag oraz informacje o każdym dzienniku nazwę pakietu, priorytet i powiązaną wiadomość. Domyślnie wiadomość nie są zawijane wiersze w widoku logu, ale możesz użyć funkcji Miękkie zawijanie na pasku narzędzi Logcat.
Możesz przełączyć się na widok Kompaktowy, który zawiera mniej domyślnych informacji o wyświetlaczu. po kliknięciu Skonfiguruj opcje formatowania dziennika Logcat na pasku narzędzi Logcat.
Aby określić, ile informacji chcesz wyświetlać, wybierz Modyfikuj widoki i zdecyduj, czy chcesz widzieć sygnaturę czasową, tagi, identyfikatorów procesów i nazw pakietów.
Zmień schemat kolorów
Aby zmienić schemat kolorów, otwórz Android Studio > Ustawienia > Edytor > Schemat kolorów. Aby zmienić schemat kolorów widoku logu: wybierz Android Logcat. Aby zmienić schemat kolorów filtra, wybierz Filtr Logcat.
Dodatkowe opcje konfiguracji
Dodatkowe opcje konfiguracji znajdziesz w Android Studio > Ustawienia > Narzędzia > Logcat: Tutaj możesz wybrać plik Logcat, rozmiar bufora cyklu, domyślny filtr dla nowych okien Logcat oraz to, czy chcesz dodać do autouzupełniania filtry z historii.
Używanie Logcat w wielu oknach
Karty ułatwiają przełączanie się między różnymi urządzeniami i zapytaniami. Możesz utworzyć wielu kart Logcat, klikając Nowa karta . Kliknięcie karty prawym przyciskiem myszy umożliwia zmianę jej nazwy i porządku.
Możesz też podzielić widok na jednej karcie, aby ułatwić sobie porównywać dane z 2 zbiorów logów. Aby utworzyć podział, kliknij prawym przyciskiem myszy lub kliknij opcję Podziel panele na pasku narzędzi i wybierz Podziel po prawej lub Podziel w dół. Aby zamknąć podział, kliknij prawym przyciskiem myszy wybierz Zamknij. Każdy podział pozwala ustawić własne połączenie urządzenia, patrz opcje i zapytanie.
Rysunek 2. Dzielenie okien Logcat w Android Studio.
Na pasku narzędzi Logcat możesz przewinąć do końca dzienników lub możesz kliknąć dany wiersz, aby był on widoczny.
Wykonywanie zapytań na logach za pomocą wyszukiwania w parach klucz-wartość
W Android Studio możesz generować wyszukiwania według par klucz-wartość bezpośrednio
w głównym polu zapytania. Ten system zapytań zapewnia dokładność danych, które chcesz
i wykluczać logi na podstawie par klucz-wartość. Chociaż możesz
używasz wyrażeń regularnych, nie musisz ich używać w zapytaniach. Aby zobaczyć
sugestie, naciśnij Ctrl
+ Space
w polu zapytania.
Rysunek 3. Naciśnij Ctrl
+ Space
w polu zapytania, aby wyświetlić listę wartości
do proponowanych zapytań.
Oto kilka przykładów kluczy, których możesz użyć w zapytaniu:
tag
: wskazuje dopasowanie do polatag
we wpisie logu.package
: dopasowuje do nazwy pakietu aplikacji do logowania.process
: dopasowuje do nazwy procesu aplikacji do logowania.message
: dopasowuje do części wiadomości we wpisie logu.level
: pasuje do określonego lub wyższego poziomu logowania, na przykładDEBUG
.age
: dopasowuje, jeśli sygnatura czasowa wpisu jest niedawna. Wartości są określone jako cyfra, po której następuje litera określająca jednostkę czasu:s
w przypadku sekund,m
– min,h
– godz. id
– dni. Na przykład tylko filtry typuage: 5m
{0/} zarejestrowane w ciągu ostatnich 5 minut.
Negacja i wyrażenia regularne
Te pola obsługują negację i dopasowywanie wyrażeń regularnych: tag
,
package
, message
i line
.
Negacja jest wyrażana przez dodanie znaku -
na początku nazwy pola. Przykład:
-tag:MyTag
dopasowuje wpisy logu, w których tag
nie zawiera ciągu znaków.
MyTag
Dopasowywanie wyrażeń regularnych jest wyrażane przez dodanie do nazwy pola znaku ~
.
Na przykład: tag~:My.*Tag
.
Modyfikatory negacji i wyrażeń regularnych można łączyć. Przykład:
-tag~:My.*Tag
Operatory logiczne i nawiasy
Język zapytań obsługuje operatory AND
i OR
wyrażone za pomocą &
i
|
i nawiasy. Na przykład:
(tag:foo | level:ERROR) & package:mine
Pamiętaj, że obowiązuje normalny pierwszeństwo operatorów, więc:
tag:foo | level:ERROR & package:mine
Jest oceniana w ten sposób:
tag:foo | (level:ERROR & package:mine)
Pośrednie operatory logiczne
Jeśli operatory logiczne nie są zastosowane, język zapytania automatycznie
ocenia wiele niewykluczających haseł filtra key-value
z tym samym kluczem co
OR
i wszystkie pozostałe z wartością AND
.
Na przykład:
tag:foo tag:bar package:myapp
Jest oceniana w ten sposób:
(tag:foo | tag:bar) & package:myapp
Ale:
tag:foo -tag:bar package:myapp
Jest oceniana w ten sposób:
tag:foo & -tag:bar & package:myapp
Jeśli wiele zapytań jest rozdzielonych spacją bez operatora logicznego,
są one traktowane jako operator ORAZ z niskim priorytetem. Na przykład hasło
foo bar tag:bar1 | tag:bar2
jest odpowiednikiem funkcji
'foo bar' & (tag: bar1 | tag: bar2)
Zapytania specjalne
package:mine
Klucz pakietu obsługuje wartość specjalną mine
. Ta wartość specjalna pasuje do
nazwy pakietów zawarte w otwartym projekcie.
level
Zapytanie level
jest dopasowane do poziomu logu komunikatu Logcat, gdzie parametr
poziom wpisu logu jest wyższy lub równy poziomowi zapytania.
Na przykład level:INFO
odpowiada dowolnemu wpisowi logu o poziomie logu INFO
,
WARN
, ERROR
lub ASSERT
. Wielkość liter nie ma znaczenia. Prawidłowe poziomy to:
VERBOSE
, DEBUG
, INFO
, WARN
, ERROR
i ASSERT
.
age
Zapytanie age
dopasowuje wpisy na podstawie ich sygnatury czasowej i jest sformatowane jako
age:<number><unit>
, gdzie
<number>
jest liczbą całkowitą<unit>
należy do wartościs
,m
,h
id
(sekundy, minuty, godziny i dni).
Na podstawie poniższej listy zapytanie age
pasuje do wiadomości logu, które zawierają
timestamp w zakresie opisanym przez wartość. Na przykład: zapytanie age:5m
dopasowuje wpisy z sygnaturą czasową, które nie wcześniej niż 5 minut temu.
age:30s
age:5m
age:3h
age:1d
Zwróć uwagę, że sygnatura czasowa jest porównywana z sygnaturą czasową hosta, a nie z sygnaturą czasową podłączonego urządzenia. Jeśli godzina urządzenia nie jest ustawiona prawidłowo, to zapytanie może nie działać zgodnie z oczekiwaniami.
is
klucz
Klucza is
możesz użyć w ten sposób:
is:crash
pasuje do wpisów logu, które reprezentują awarię aplikacji (format natywny lub Java).is:stacktrace
dopasowuje wpisy logu, które wyglądają jak Zrzut stosu Java niezależnie od poziomu logu.
name
klucz
Klucz name
umożliwia podanie unikalnej nazwy zapisanego filtra, aby
łatwe do zidentyfikowania na menu historii filtrowania. Chociaż nie otrzymasz
dla określenia name
więcej niż raz, IDE używa tylko ostatniego
określona wartość dla name
w zapytaniu.
Wyświetl historię zapytań
Aby wyświetlić historię zapytań, kliknij
Pokaż historię
obok pola zapytania. Aby dodać zapytanie do ulubionych, tak aby znajdowało się na początku listy
kliknij gwiazdkę obok wszystkich swoich projektów w studio. Możesz też
używaj klucza name:
, aby ułatwić rozpoznawanie ulubionych zapytań. Więcej
więcej informacji znajdziesz w sekcji Zapytania specjalne.
Rysunek 4. Dodaj zapytanie do ulubionych, klikając znajdującą się obok niego gwiazdkę.
Śledź logi awarii i ponownych uruchomień aplikacji
Gdy Logcat wykryje, że proces aplikacji został zatrzymany i ponownie uruchomiony, wyświetli się
komunikat w danych wyjściowych, np. PROCESS ENDED
i PROCESS STARTED
.
Ponowne uruchomienie Logcat zachowuje konfigurację sesji, na przykład podziały kart,
filtry i opcje widoku, aby łatwo kontynuować sesję.
Rysunek 5. Po ponownym uruchomieniu procesu aplikacji Logcat wyświetli komunikat, że że proces się zakończył i rozpoczął.