logd
est le démon de journalisation sur Android qui couvre principalement les fonctionnalités de son homologue sur bureau syslogd, mais inclut également klogd et partiellement auditd pour obtenir des journaux à partir du sous-système SELinux du noyau. Cependant, logd
se contente de lire à partir de différents tampons mémoire (en RAM) et ne sauvegarde pas par défaut dans une mémoire persistante (fichiers). Nous pouvons utiliser les outils en ligne de commande logcat
et log
pour lire/écrire respectivement à/de logd
. Lire ici plus sur les tampons mémoire - main
, system
, radio
, events
, et crash
.
Si quelqu'un a besoin de journaux persistants sous forme de fichiers, un sous-service séparé (disponible uniquement sur les versions userdebug
et eng
depuis Oreo (1)) nommé logcatd
(démon logcat
qui lui-même lit depuis logd
) peut les sauvegarder dans le système de fichiers dans /data/misc/logd/
(non accessible sans droits root). Le comportement du service au démarrage est contrôlé par les propriétés logd.logpersistd.enable
et persist.logd.logpersistd
(2). Ou pour démarrer/arrêter manuellement le service, les scripts shell /system/bin/logpersist.[start|stop]
peuvent être utilisés.
L'option « Conserver les données du journal persistantes sur l'appareil » dans les « Options pour les développeurs » contrôle également le même service en utilisant la propriété persist.logd.logpersistd.buffer
. Depuis la documentation officielle:
Conserver les données du journal de manière persistante sur l'appareil : Sélectionnez le type de messages de journal que vous souhaitez conserver de manière persistante sur l'appareil. Les options sont désactivée, tous, tous sauf radio, ou seulement kernel.