2011-06-12 13 views
26

Credo Logcat è un negozio di circolare e mi chiedo qual è il limite prima che sovrascrive.Qual è il limite di dimensione per Logcat e come modificarne la capacità?

Presumibilmente questo significa che il suo intervallo di tempo può variare a seconda dell'uso.

Esiste un modo per espandere la sua capacità?

+1

cosa intendi con la capacità? intendi il numero di righe che possono essere visualizzate da logcat o la lunghezza di una riga ?? – Houcine

risposta

36

vedere usato dimensioni -g

$ adb logcat -g 
ring buffer is 64Kb (63Kb consumed), max entry is 4096b, max payload is 4076b 
+1

È importante notare che LogCat dipende molto dal dispositivo. La dimensione e anche la gestione del cattivo carattere differiscono tra i diversi portatili. – Janusz

+0

@Janusz c'è qualche fonte di informazioni riguardo le differenze? @ – ron

+0

Non so di alcuna fonte – Janusz

7

Come già detto, è possibile vedere la dimensione del buffer circolare con logcat -g. Sul mio Galaxy Nexus, è 256 KB:

[email protected]:/ $ logcat -g 
/dev/log/main: ring buffer is 256Kb (255Kb consumed), max entry is 4096b, max payload is 4076b 
/dev/log/system: ring buffer is 256Kb (0Kb consumed), max entry is 4096b, max payload is 4076b 

Se è necessario salvare un log continuo più lungo di quello, si può solo aprire una nuova adb shell e digitare

logcat -f myfile.log 

Questo comando reindirizza le voci di registro al file myfile.log su base continuativa e non ritornerà finché non si preme ctrl-c per fermarlo. Ora torna alla tua shell adb originale e digita il comando che vuoi registrare, e tutto il suo output (più di 256 KB nel mio caso) verrà salvato in myfile.log.

+0

Il log di file funziona, se stai cercando qualcosa di nuovo. Non aiuterà per informazioni precedentemente perse, come da avvio. – cde

2

dimensione del buffer è determinata dal kernel, che si trova in */drivers/staging/android/logger.c

che vengono utilizzati i buffer e la dimensione è cambiata con le versioni di Android. Anche Android 3.0 e successivi hanno un buffer di sistema e tutti e quattro sono 256kb. Devi ricompilare il kernel per cambiarlo.

1

Samsung Galaxy S4 (Android 4.3) dimensioni logcat:

  • principale: 1 MB
  • sistema: 512 KB
26

Dal Android 5.0, Opzioni sviluppatore mostra/permette di aumentare la dimensione del buffer circolare.

Developer Options ScreenShot

0

Ecco come cambiare la capacità del buffer circolare di registro su alcune versioni di Android:

adb logcat -G <size>: impostare la dimensione del buffer circolare di registro. È possibile aggiungere K o M alla fine per indicare kilobyte o megabyte.

(Fonte: logcat documentation)

Tuttavia, non dice a quale versione di Android questa opzione si sono resi disponibili. Vedo che sul mio dispositivo Android 4.2.2 non è un'opzione riconosciuta.

+0

Downvoter, puoi suggerire un modo per migliorare la risposta? La domanda ha chiesto un modo per modificare la capacità del buffer dell'anello logaritmico e questa risposta fornisce informazioni che rispondono a quella domanda che non era contenuta in altre risposte. – LarsH

Problemi correlati