android_system_core/logd
Mark Salyzyn ae4d928d81 logd: Add klogd
- Add a klogd to collect the kernel logs and place them into a
  new kernel log buffer
- Parse priority, tag and message from the kernel log messages.
- Turn off pruning for worst UID for the kernel log buffer
- Sniff for 'PM: suspend exit', 'PM: suspend enter' and
  'Suspended for' messages and correct the internal definition
  time correction against monotonic dynamically.
- Discern if we have monotonic or real time (delineation 1980) in
  audit messages.
- perform appropriate math to correct the timestamp to be real time
- filter out any external sources of kernel logging

Change-Id: I8d4c7c5ac19f1f3218079ee3a05a50e2ca55f60d
2015-05-12 15:51:46 -07:00
..
tests Remove LOCAL_ADDITIONAL_DEPENDENCIES in cases where it's not needed. 2015-04-02 14:31:07 -07:00
Android.mk logd: Add klogd 2015-05-12 15:51:46 -07:00
CommandListener.cpp logd: syscall optimization 2015-04-01 19:41:59 +00:00
CommandListener.h logd: add reinit command 2015-03-12 12:24:47 -07:00
event.logtags logd: annotate worst-UID pruned entries 2015-04-10 15:45:08 -07:00
FlushCommand.cpp logd: replace internal CLOCK_MONOTONIC use with sequence numbers 2015-03-18 12:43:23 -07:00
FlushCommand.h logd: replace internal CLOCK_MONOTONIC use with sequence numbers 2015-03-18 12:43:23 -07:00
libaudit.c Revert "libaudit: limit to 5 selinux denials per sec" 2015-05-09 12:41:41 -07:00
libaudit.h logd: throttle SELinux denials to 20/sec 2014-11-19 13:35:36 -08:00
LogAudit.cpp logd: Add klogd 2015-05-12 15:51:46 -07:00
LogAudit.h logd: auditd remove logDmesg method 2014-12-05 20:56:44 +00:00
LogBuffer.cpp logd: improve details on chatty records 2015-04-30 13:14:51 -07:00
LogBuffer.h logd: improve details on chatty records 2015-04-30 13:14:51 -07:00
LogBufferElement.cpp logd: Add Tag statistics 2015-05-12 12:53:27 -07:00
LogBufferElement.h logd: Add klogd 2015-05-12 15:51:46 -07:00
LogCommand.cpp logd: missing include for string.h 2015-04-01 11:18:42 -07:00
LogCommand.h logd: institute getGroups for socket credentials 2014-02-28 13:48:33 -08:00
LogKlog.cpp logd: Add klogd 2015-05-12 15:51:46 -07:00
LogKlog.h logd: Add klogd 2015-05-12 15:51:46 -07:00
LogListener.cpp logd: Add klogd 2015-05-12 15:51:46 -07:00
LogListener.h logd: initial checkin. 2014-02-26 09:52:35 -08:00
LogReader.cpp logd: syscall optimization 2015-04-01 19:41:59 +00:00
LogReader.h logd: libsysutils: logd startup outside init environment 2014-04-17 16:14:24 +00:00
LogStatistics.cpp logd: Add klogd 2015-05-12 15:51:46 -07:00
LogStatistics.h logd: Add Tag statistics 2015-05-12 12:53:27 -07:00
LogTimes.cpp logd: replace internal CLOCK_MONOTONIC use with sequence numbers 2015-03-18 12:43:23 -07:00
LogTimes.h logd: replace internal CLOCK_MONOTONIC use with sequence numbers 2015-03-18 12:43:23 -07:00
LogWhiteBlackList.cpp Revert: "logd: default off by-UID spam filter" 2015-04-10 15:45:10 -07:00
LogWhiteBlackList.h logd: optimize statistics 2015-03-20 12:31:23 -07:00
main.cpp logd: Add klogd 2015-05-12 15:51:46 -07:00
README.auditd logd: selinux auditd initial commit 2014-04-07 10:51:00 -07:00
README.property logd: Add klogd 2015-05-12 15:51:46 -07:00

The properties that logd responds to are:

name                       type default  description
logd.auditd                 bool  true   Enable selinux audit daemon
logd.auditd.dmesg           bool  true   selinux audit messages duplicated and
                                         sent on to dmesg log
logd.klogd                  bool depends Enable klogd daemon
logd.statistics             bool depends Enable logcat -S statistics.
ro.config.low_ram           bool  false  if true, logd.statistics & logd.klogd
                                         default false
ro.build.type               string       if user, logd.statistics & logd.klogd
                                         default false
persist.logd.size          number 256K   default size of the buffer for all
                                         log ids at initial startup, at runtime
                                         use: logcat -b all -G <value>
persist.logd.size.main     number 256K   Size of the buffer for the main log
persist.logd.size.system   number 256K   Size of the buffer for the system log
persist.logd.size.radio    number 256K   Size of the buffer for the radio log
persist.logd.size.event    number 256K   Size of the buffer for the event log
persist.logd.size.crash    number 256K   Size of the buffer for the crash log

NB:
- number support multipliers (K or M) for convenience. Range is limited
  to between 64K and 256M for log buffer sizes. Individual logs override the
  global default.