logd
es el demonio de registro en Android que cubre principalmente la funcionalidad de su homólogo de escritorio syslogd pero también incluye klogd y parcialmente auditd para obtener los registros del subsistema SELinux del kernel. Sin embargo, logd
sólo lee de diferentes búferes de memoria (en la RAM) y no guarda en la memoria persistente (archivos) por defecto. Podemos utilizar herramientas de línea de comandos logcat
y log
para leer/escribir desde/hacia logd
respectivamente. Leer aquí más sobre los búferes de memoria - main
, system
, radio
, events
y crash
.
Si se necesitan registros persistentes en forma de archivos, un sub-servicio separado (disponible en userdebug
y eng
construye sólo desde Oreo ( 1 ) ) llamado logcatd
( logcat
que a su vez lee de logd
) puede guardarlos en el sistema de archivos en /data/misc/logd/
(no se puede acceder a él sin Root). El comportamiento del servicio en el arranque está controlado por las propiedades logd.logpersistd.enable
y persist.logd.logpersistd
( 2 ) . O para iniciar/detener manualmente los scripts de shell del servicio /system/bin/logpersist.[start|stop]
se puede utilizar.
La opción "Almacenar los datos del registrador de forma persistente en el dispositivo" en "Opciones de desarrollo" también controla el mismo servicio mediante la propiedad persist.logd.logpersistd.buffer
. Desde documentación oficial :
Almacenar los datos del registrador de forma persistente en el dispositivo: Seleccione el tipo de mensajes de registro que desea almacenar de forma persistente en el dispositivo. Las opciones son desactivado, todo, todo menos el radio, o sólo el núcleo.