blob: 4d5c80c4b8cbfea759fee4c943e66bd33ade601a [file] [log] [blame]
Mark Salyzyndf5d1282016-07-07 09:24:51 -07001#
2# init scriptures for logcatd persistent logging.
3#
4# Make sure any property changes are only performed with /data mounted, after
5# post-fs-data state because otherwise behavior is undefined. The exceptions
6# are device adjustments for logcatd service properties (persist.* overrides
7# notwithstanding) for logd.logpersistd.size and logd.logpersistd.buffer.
8
9# persist to non-persistent trampolines to permit device properties can be
10# overridden when /data mounts, or during runtime.
11on property:persist.logd.logpersistd.size=256
12 setprop persist.logd.logpersistd.size ""
13 setprop logd.logpersistd.size ""
14
15on property:persist.logd.logpersistd.size=*
16 # expect /init to report failure if property empty (default)
17 setprop logd.logpersistd.size ${persist.logd.logpersistd.size}
18
19on property:persist.logd.logpersistd.buffer=all
20 setprop persist.logd.logpersistd.buffer ""
21 setprop logd.logpersistd.buffer ""
22
23on property:persist.logd.logpersistd.buffer=*
24 # expect /init to report failure if property empty (default)
25 setprop logd.logpersistd.buffer ${persist.logd.logpersistd.buffer}
26
Tom Cherry20391b12015-08-14 13:02:51 -070027on property:persist.logd.logpersistd=logcatd
Mark Salyzyndf5d1282016-07-07 09:24:51 -070028 setprop logd.logpersistd logcatd
29
30# enable, prep and start logcatd service
31on load_persist_props_action
32 setprop logd.logpersistd.enable true
33
34on property:logd.logpersistd.enable=true && property:logd.logpersistd=logcatd
Tom Cherry20391b12015-08-14 13:02:51 -070035 # all exec/services are called with umask(077), so no gain beyond 0700
36 mkdir /data/misc/logd 0700 logd log
37 # logd for write to /data/misc/logd, log group for read from pstore (-L)
Ruchi Kandoi90a3f812016-06-14 15:26:30 -070038 # b/28788401 b/30041146 b/30612424
39 # exec - logd log -- /system/bin/logcat -L -b ${logd.logpersistd.buffer:-all} -v threadtime -v usec -v printable -D -f /data/misc/logd/logcat -r 1024 -n ${logd.logpersistd.size:-256}
Tom Cherry20391b12015-08-14 13:02:51 -070040 start logcatd
41
Mark Salyzyndf5d1282016-07-07 09:24:51 -070042# stop logcatd service and clear data
43on property:logd.logpersistd.enable=true && property:logd.logpersistd=clear
44 setprop persist.logd.logpersistd ""
Mark Salyzyn2d737012016-06-06 11:22:13 -070045 stop logcatd
46 # logd for clear of only our files in /data/misc/logd
Mark Salyzyndf5d1282016-07-07 09:24:51 -070047 exec - logd log -- /system/bin/logcat -c -f /data/misc/logd/logcat -n ${logd.logpersistd.size:-256}
48 setprop logd.logpersistd ""
Mark Salyzyn2d737012016-06-06 11:22:13 -070049
Mark Salyzyndf5d1282016-07-07 09:24:51 -070050# stop logcatd service
51on property:logd.logpersistd=stop
52 setprop persist.logd.logpersistd ""
Mark Salyzyn2d737012016-06-06 11:22:13 -070053 stop logcatd
Mark Salyzyndf5d1282016-07-07 09:24:51 -070054 setprop logd.logpersistd ""
Mark Salyzyn2d737012016-06-06 11:22:13 -070055
Mark Salyzyndf5d1282016-07-07 09:24:51 -070056on property:logd.logpersistd.enable=false
57 stop logcatd
58
59# logcatd service
60service logcatd /system/bin/logcat -b ${logd.logpersistd.buffer:-all} -v threadtime -v usec -v printable -D -f /data/misc/logd/logcat -r 1024 -n ${logd.logpersistd.size:-256}
Tom Cherry20391b12015-08-14 13:02:51 -070061 class late_start
62 disabled
63 # logd for write to /data/misc/logd, log group for read from log daemon
64 user logd
65 group log
Tom Cherry984bd832015-09-21 14:25:34 -070066 writepid /dev/cpuset/system-background/tasks