summaryrefslogtreecommitdiffstats
path: root/rootdir
diff options
context:
space:
mode:
authorMark Salyzyn <salyzyn@google.com>2015-05-26 14:57:13 -0700
committerMark Salyzyn <salyzyn@google.com>2015-06-02 15:28:36 -0700
commit49ed105fd91677f7c87417890bf7441146953fff (patch)
treec9f795ed2f18d558f8b00451434ccde81730b4b5 /rootdir
parentcdb468abb38bb75aaad5d4c6699a824559cf272a (diff)
downloadsystem_core-49ed105fd91677f7c87417890bf7441146953fff.zip
system_core-49ed105fd91677f7c87417890bf7441146953fff.tar.gz
system_core-49ed105fd91677f7c87417890bf7441146953fff.tar.bz2
init.rc: logd: Add logpersistd (nee logcatd)
(cherry pick from commit 100658c303919d8f69c76f6f25eac376795712f0) - logpersistd is defined as a thread or process in the context of the logd domain. Here we define logpersistd as logcat -f in logd domain and call it logcatd to represent its service mechanics. - Use logcatd to manage content in /data/misc/logd/ directory. - Only turn on for persist.logd.logpersistd = logcatd. - Add logpersist.start, logpersist.stop and logpersist.cat debug class executables, thus only in the eng and userdebug builds. ToDo: Wish to add Developer Options menu to turn this feature on or off, complicated by the fact that user builds have no tools with access rights to /data/misc/logd. Bug: 19608716 Change-Id: I57ad757f121c473d04f9fabe9d4820a0eca06f31
Diffstat (limited to 'rootdir')
-rw-r--r--rootdir/init.rc14
1 files changed, 14 insertions, 0 deletions
diff --git a/rootdir/init.rc b/rootdir/init.rc
index a3cf6f1..d0768b2 100644
--- a/rootdir/init.rc
+++ b/rootdir/init.rc
@@ -668,3 +668,17 @@ service perfprofd /system/xbin/perfprofd
class late_start
user root
oneshot
+
+on property:persist.logd.logpersistd=logcatd
+ # all exec/services are called with umask(077), so no gain beyond 0700
+ mkdir /data/misc/logd 0700 logd log
+ # logd for write to /data/misc/logd, log group for read from pstore (-L)
+ exec - logd log -- /system/bin/logcat -L -b all -v threadtime -v usec -v printable -D -f /data/misc/logd/logcat -r 64 -n 256
+ start logcatd
+
+service logcatd /system/bin/logcat -b all -v threadtime -v usec -v printable -D -f /data/misc/logd/logcat -r 64 -n 256
+ class late_start
+ disabled
+ # logd for write to /data/misc/logd, log group for read from log daemon
+ user logd
+ group log