La finestra Logcat in Android Studio ti consente di eseguire il debug dell'app.
visualizzare i log del dispositivo in tempo reale, ad esempio i messaggi
aggiunto alla tua app con il corso Log
, Messaggi
dai servizi in esecuzione su Android o da messaggi di sistema, ad esempio quando un container
la raccolta dei dati. Quando un'app genera un'eccezione, Logcat mostra un messaggio.
seguita dall'analisi dello stack associata contenente i link alla riga di codice.
Inizia a utilizzare la finestra Logcat
Per visualizzare i messaggi di log relativi all'app, procedi nel seguente modo.
- In Android Studio, crea ed esegui la tua app su un dispositivo o emulatore.
- Seleziona Visualizza > Finestre degli strumenti > Logcat dalla barra dei menu.
Per impostazione predefinita, Logcat scorre fino alla fine. Facendo clic sulla visualizzazione Logcat o scorrendo lo scorrimento usando la rotellina del mouse disattiva questa funzione. Per riattivarlo, fai clic su Scorri fino alla fine dalla barra degli strumenti. Puoi anche utilizzare la barra degli strumenti per cancellare, mettere in pausa o riavviare Logcat.
Figura 1. Logcat formatta i log per semplificare la scansione di informazioni utili, come tag e messaggi e di identificare diversi tipi di log, come avvisi ed errori.
Come leggere i log
Ogni log include dati relativi a data, timestamp, ID processo e thread, tag, nome
la priorità e il messaggio associato. Tag diversi hanno un colore univoco
che consente di identificare il tipo di log. Ogni voce di log ha una priorità pari a FATAL
,
ERROR
, WARNING
, INFO
, DEBUG
o VERBOSE
.
Ad esempio, il seguente messaggio di log ha una priorità DEBUG
e un 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
Configurare la visualizzazione del log
La visualizzazione log standard mostra la data, l'ora del processo e l'ID thread, il tag e il thread di ciascun log il nome del pacchetto, la priorità e il messaggio associato. Per impostazione predefinita, i messaggi righe non sono racchiuse nella vista log, ma puoi utilizzare Fodera morbida dalla barra degli strumenti di Logcat.
Puoi passare alla visualizzazione Compatta, che ha meno informazioni di visualizzazione predefinite. facendo clic su Configura le opzioni di formattazione Logcat dalla barra degli strumenti Logcat.
Per configurare ulteriormente la quantità di informazioni che vuoi visualizzare, seleziona Modifica visualizzazioni e scegli se visualizzare timestamp, tag, gli ID processo o i nomi dei pacchetti.
Cambiare la combinazione di colori
Per modificare la combinazione di colori, vai su Android Studio > Impostazioni > Editor > Combinazione di colori. Per modificare la combinazione di colori della visualizzazione del log: Seleziona Android Logcat. Per modificare la combinazione di colori del filtro, seleziona Filtro Logcat.
Opzioni di configurazione aggiuntive
Per ulteriori opzioni di configurazione, vai su Android Studio > Impostazioni > Strumenti > Logcat. Da qui, puoi scegliere il logcat dimensione del buffer del ciclo, il filtro predefinito per le nuove finestre Logcat e se vuoi aggiungere filtri dalla cronologia al completamento automatico.
Utilizzare Logcat in più finestre
Le schede ti consentono di passare facilmente da un dispositivo all'altro o da una query all'altra. Puoi creare più schede Logcat facendo clic su Nuova scheda . Se fai clic con il pulsante destro del mouse su una scheda, puoi rinominarla e riorganizzarla.
Inoltre, puoi suddividere la visualizzazione all'interno di una scheda per aiutarti a visualizzare tra due set di log. Per creare una suddivisione, fai clic con il tasto destro del mouse sulla visualizzazione log o fai clic sull'opzione Riquadri suddivisi nella barra degli strumenti e seleziona Dividi a destra o Dividi verso il basso. Per chiudere una suddivisione, fai clic con il tasto destro del mouse e Seleziona Chiudi. Ogni suddivisione ti consente di impostare la connessione del dispositivo, visualizzare opzioni e query.
Figura 2. Dividi le finestre Logcat in Android Studio.
Nella barra degli strumenti Logcat puoi scorrere fino alla fine dei log oppure puoi fare clic su una linea per mantenerla visibile.
Log di query con la ricerca di coppie chiave-valore
In Android Studio, puoi generare ricerche di coppie chiave-valore direttamente dalla
campo di query principale. Questo sistema di query fornisce precisione di ciò che vuoi
ed escludere i log in base alle coppie chiave-valore. Anche se hai la possibilità di
utilizzare espressioni regolari, non è necessario per le query. Per vedere
suggerimenti, premi Ctrl
+ Space
nel campo della query.
Figura 3. Premi Ctrl
+ Space
nel campo della query per visualizzare un elenco di
query suggerite.
Di seguito sono riportati alcuni esempi di chiavi che puoi utilizzare nella query:
tag
: corrisponde al campotag
della voce di log.package
: corrisponde al nome del pacchetto dell'app di logging.process
: corrisponde al nome del processo dell'app di logging.message
: corrisponde alla parte del messaggio della voce di log.level
: corrisponde al livello di log grave specificato o superiore, ad esempioDEBUG
.age
: corrisponde se il timestamp della voce è recente. I valori vengono specificati come numero seguito da una lettera che specifica l'unità di tempo:s
per i secondi,m
per minuti,h
per ore ed
per giorni. Ad esempio, solo i filtriage: 5m
messaggi registrati negli ultimi 5 minuti.
Negazione ed espressioni regolari
I seguenti campi supportano la corrispondenza di negazione ed espressione regolare: tag
,
package
, message
e line
.
La negazione viene espressa anteponendo un -
al nome del campo. Ad esempio:
-tag:MyTag
corrisponde alle voci di log le cui tag
non contengono la stringa
MyTag
.
La corrispondenza delle espressioni regolari viene espressa aggiungendo un ~
al nome del campo.
Ad esempio, tag~:My.*Tag
.
È possibile combinare i modificatori di negazione ed espressione regolare. Ad esempio:
-tag~:My.*Tag
.
Operatori logici e parentesi
Il linguaggio di query supporta gli operatori AND
e OR
espressi da &
e
|
e parentesi. Ad esempio:
(tag:foo | level:ERROR) & package:mine
Tieni presente che viene applicata la precedenza normale degli operatori, quindi:
tag:foo | level:ERROR & package:mine
Viene valutato come segue:
tag:foo | (level:ERROR & package:mine)
Operatori logici impliciti
Se non vengono applicati operatori logici, viene automaticamente impostato il linguaggio di query
valuta più termini del filtro key-value
non negati con la stessa chiave di un
OR
e tutti gli altri con un AND
.
Ad esempio:
tag:foo tag:bar package:myapp
Viene valutato come segue:
(tag:foo | tag:bar) & package:myapp
Tuttavia:
tag:foo -tag:bar package:myapp
Viene valutato come segue:
tag:foo & -tag:bar & package:myapp
Se più termini di query sono separati da spazi vuoti senza un operatore logico,
vengono trattati come AND con bassa precedenza. Ad esempio, il termine
foo bar tag:bar1 | tag:bar2
equivale a
'foo bar' & (tag: bar1 | tag: bar2)
.
Query speciali
package:mine
La chiave pacchetto supporta un valore speciale mine
. Questo valore speciale corrisponde a qualsiasi
dei pacchetti contenuti nel progetto aperto.
level
La query level
corrisponde al livello di log del messaggio Logcat, in cui
il livello della voce di log è maggiore o uguale al livello di query.
Ad esempio, level:INFO
corrisponde a qualsiasi voce di log con un livello di log pari a INFO
,
WARN
, ERROR
o ASSERT
. Il livello non è sensibile alle maiuscole. I livelli validi sono:
VERBOSE
, DEBUG
, INFO
, WARN
, ERROR
e ASSERT
.
age
La query age
abbina le voci in base al relativo timestamp ed è formattata come
age:<number><unit>
, dove
<number>
è un numero intero<unit>
è uno dei seguenti valori:s
,m
,h
ed
(secondi, minuti, ore e giorni).
Dato l'elenco seguente, la query age
corrisponde ai messaggi di log con un
nell'intervallo descritto dal valore. Ad esempio: la query age:5m
corrisponde alle voci con un timestamp non precedente a 5 minuti fa.
age:30s
age:5m
age:3h
age:1d
Tieni presente che il timestamp viene confrontato con il timestamp dell'host, non con quello dell'host dispositivo connesso. Se l'ora del dispositivo non è impostata correttamente, questa query potrebbe non funzionare come previsto.
Chiave is
Puoi utilizzare la chiave is
nel seguente modo:
is:crash
corrisponde alle voci di log che rappresentano un arresto anomalo dell'applicazione (native o Java).is:stacktrace
corrisponde alle voci di log che rappresentano qualsiasi elemento simile a una Traccia stack Java, indipendentemente dal livello di log.
Chiave name
La chiave name
ti consente di assegnare un nome univoco a un filtro salvato, in modo che
facilmente identificabili nel menu a discesa
della cronologia dei filtri. Anche se non ottieni
quando specifichi name
più di una volta, l'IDE utilizza solo l'ultima
valore specificato per name
nella query.
Visualizzare la cronologia delle query
Puoi visualizzare la cronologia delle query facendo clic su
Mostra cronologia
accanto al campo della query. Per aggiungere una query ai preferiti in modo che rimanga nella parte superiore del
elenco di tutti i tuoi progetti Studio, fai clic sulla stella accanto a esso. Puoi anche
usa il tasto name:
per rendere più facili da riconoscere le query preferite. Per ulteriori informazioni
informazioni, consulta Query speciali.
Figura 4. Aggiungere una query ai preferiti facendo clic sulla stella corrispondente.
Monitora i log relativi agli arresti anomali e ai riavvii delle app
Quando Logcat rileva che il processo dell'app è stato interrotto e riavviato, visualizza
un messaggio nell'output, ad esempio PROCESS ENDED
e PROCESS STARTED
.
Il riavvio di Logcat conserva la configurazione della sessione, come la suddivisione delle schede,
filtri e opzioni di visualizzazione,
così puoi continuare facilmente la sessione.
Figura 5. Al riavvio del processo dell'app, Logcat visualizza un messaggio che indica che il processo è terminato e poi è iniziato.