Wyświetl logi w Logcat

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.

  1. W Android Studio skompiluj i uruchom aplikację na urządzenia lub emulatora.
  2. 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 Przewiń do ikony zakończenia na pasku narzędzi. Za pomocą paska narzędzi możesz też wyczyścić, wstrzymać lub ponownie uruchomić aplikację Logcat.

Interfejs okna 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 Ikona miękkiego zawijania 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 Ikona nowej karty. 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.

Wiele okien Logcat 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.

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.

Lista sugestii 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 pola tag 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ład DEBUG.
  • 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. i d – dni. Na przykład tylko filtry typu age: 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ści s, m, h i d (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ę Ikona filtrowania 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.

Interfejs użytkownika do dodawania zapytania do ulubionych

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ę.

Okno Logcat dotyczące awarii aplikacji

Rysunek 5. Po ponownym uruchomieniu procesu aplikacji Logcat wyświetli komunikat, że że proces się zakończył i rozpoczął.