Logcatd has capability to output logs to filesystem with certain size and certain file count, however file size is not configurable, fixed as 1024 kbytes, file count is configurable, but original property name didn't match the logcat parameter well. This patch add interface rotate_kbytes and count into logcatd.rc. rotate_kbytes used to control each logcat file size. count is another alias for logd.logpersistd.size to control file number. Bug: 133362078 Test: Can use logcat -r -n with configures Change-Id: I9954c9c125a4ab4e49310986f81c734bf8ee96b3 Signed-off-by: Tian, Baofeng <baofeng.tian@intel.com> Signed-off-by: Duan, YayongX <yayongx.duan@intel.com>
77 lines
3.1 KiB
Text
77 lines
3.1 KiB
Text
#
|
|
# init scriptures for logcatd persistent logging.
|
|
#
|
|
# Make sure any property changes are only performed with /data mounted, after
|
|
# post-fs-data state because otherwise behavior is undefined. The exceptions
|
|
# are device adjustments for logcatd service properties (persist.* overrides
|
|
# notwithstanding) for logd.logpersistd.size logd.logpersistd.rotate_kbytes and
|
|
# logd.logpersistd.buffer.
|
|
|
|
# persist to non-persistent trampolines to permit device properties can be
|
|
# overridden when /data mounts, or during runtime.
|
|
on property:persist.logd.logpersistd.count=*
|
|
# expect /init to report failure if property empty (default)
|
|
setprop persist.logd.logpersistd.size ${persist.logd.logpersistd.count}
|
|
|
|
on property:persist.logd.logpersistd.size=256
|
|
setprop persist.logd.logpersistd.size ""
|
|
setprop logd.logpersistd.size ""
|
|
|
|
on property:persist.logd.logpersistd.size=*
|
|
# expect /init to report failure if property empty (default)
|
|
setprop logd.logpersistd.size ${persist.logd.logpersistd.size}
|
|
|
|
on property:persist.logd.logpersistd.rotate_kbytes=1024
|
|
setprop persist.logd.logpersistd.rotate_kbytes ""
|
|
setprop logd.logpersistd.rotate_kbytes ""
|
|
|
|
on property:persist.logd.logpersistd.rotate_kbytes=*
|
|
# expect /init to report failure if property empty (default)
|
|
setprop logd.logpersistd.rotate_kbytes ${persist.logd.logpersistd.rotate_kbytes}
|
|
|
|
on property:persist.logd.logpersistd.buffer=all
|
|
setprop persist.logd.logpersistd.buffer ""
|
|
setprop logd.logpersistd.buffer ""
|
|
|
|
on property:persist.logd.logpersistd.buffer=*
|
|
# expect /init to report failure if property empty (default)
|
|
setprop logd.logpersistd.buffer ${persist.logd.logpersistd.buffer}
|
|
|
|
on property:persist.logd.logpersistd=logcatd
|
|
setprop logd.logpersistd logcatd
|
|
|
|
# enable, prep and start logcatd service
|
|
on load_persist_props_action
|
|
setprop logd.logpersistd.enable true
|
|
|
|
on property:logd.logpersistd.enable=true && property:logd.logpersistd=logcatd
|
|
# all exec/services are called with umask(077), so no gain beyond 0700
|
|
mkdir /data/misc/logd 0700 logd log
|
|
start logcatd
|
|
|
|
# stop logcatd service and clear data
|
|
on property:logd.logpersistd.enable=true && property:logd.logpersistd=clear
|
|
setprop persist.logd.logpersistd ""
|
|
stop logcatd
|
|
# logd for clear of only our files in /data/misc/logd
|
|
exec - logd log -- /system/bin/logcat -c -f /data/misc/logd/logcat -n ${logd.logpersistd.size:-256}
|
|
setprop logd.logpersistd ""
|
|
|
|
# stop logcatd service
|
|
on property:logd.logpersistd=stop
|
|
setprop persist.logd.logpersistd ""
|
|
stop logcatd
|
|
setprop logd.logpersistd ""
|
|
|
|
on property:logd.logpersistd.enable=false
|
|
stop logcatd
|
|
|
|
# logcatd service
|
|
service logcatd /system/bin/logcatd -L -b ${logd.logpersistd.buffer:-all} -v threadtime -v usec -v printable -D -f /data/misc/logd/logcat -r ${logd.logpersistd.rotate_kbytes:-1024} -n ${logd.logpersistd.size:-256} --id=${ro.build.id}
|
|
class late_start
|
|
disabled
|
|
# logd for write to /data/misc/logd, log group for read from log daemon
|
|
user logd
|
|
group log
|
|
writepid /dev/cpuset/system-background/tasks
|
|
oom_score_adjust -600
|