61e9ce6709
Will register a new event tag by name and format, and return an event-log-tags format response with the newly allocated tag. If format is not specified, then nothing will be recorded, but a pre-existing named entry will be listed. If name and format are not specified, list all dynamic entries. If name=* list all event log tag entries. Stickiness through logd crash will be managed with the tmpfs file /dev/event-log-tags and through a reboot with add_tag entries in the pmsg last logcat event log. On debug builds we retain a /data/misc/logd/event-log-tags file that aids stickiness and that can be picked up by the bugreport. If we detect truncation damage to /dev/event-log-tags, or to /data/misc/logd/event-log-tags, rebuild file with a new first line signature incorporating the time so mmap'd readers of the file can detect the possible change in shape and order. Manual testing: Make sure nc (netcat) is built for the target platform on the host: $ m nc Then the following can be used to issue a request on the platform: $ echo -n 'getEventTag name=<name> format="<format>"\0EXIT\0' | > nc -U /dev/socket/logd Test: gTest logd-unit-test --gtest_filter=getEventTag* Bug: 31456426 Change-Id: I5dacc5f84a24d52dae09cca5ee1a3a9f9207f06d
61 lines
1.4 KiB
Makefile
61 lines
1.4 KiB
Makefile
LOCAL_PATH:= $(call my-dir)
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE:= logd
|
|
|
|
LOCAL_INIT_RC := logd.rc
|
|
|
|
LOCAL_SRC_FILES := \
|
|
main.cpp \
|
|
LogCommand.cpp \
|
|
CommandListener.cpp \
|
|
LogListener.cpp \
|
|
LogReader.cpp \
|
|
FlushCommand.cpp \
|
|
LogBuffer.cpp \
|
|
LogBufferElement.cpp \
|
|
LogTimes.cpp \
|
|
LogStatistics.cpp \
|
|
LogWhiteBlackList.cpp \
|
|
libaudit.c \
|
|
LogAudit.cpp \
|
|
LogKlog.cpp \
|
|
LogTags.cpp \
|
|
event.logtags
|
|
|
|
LOCAL_SHARED_LIBRARIES := \
|
|
libsysutils \
|
|
liblog \
|
|
libcutils \
|
|
libbase \
|
|
libpackagelistparser \
|
|
libcap
|
|
|
|
# This is what we want to do:
|
|
# event_logtags = $(shell \
|
|
# sed -n \
|
|
# "s/^\([0-9]*\)[ \t]*$1[ \t].*/-D`echo $1 | tr a-z A-Z`_LOG_TAG=\1/p" \
|
|
# $(LOCAL_PATH)/$2/event.logtags)
|
|
# event_flag := $(call event_logtags,auditd)
|
|
# event_flag += $(call event_logtags,logd)
|
|
# event_flag += $(call event_logtags,tag_def)
|
|
# so make sure we do not regret hard-coding it as follows:
|
|
event_flag := -DAUDITD_LOG_TAG=1003 -DCHATTY_LOG_TAG=1004 -DTAG_DEF_LOG_TAG=1005
|
|
event_flag += -DLIBLOG_LOG_TAG=1006
|
|
|
|
LOCAL_CFLAGS := -Werror $(event_flag)
|
|
|
|
include $(BUILD_EXECUTABLE)
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := logtagd.rc
|
|
LOCAL_SRC_FILES := $(LOCAL_MODULE)
|
|
LOCAL_MODULE_CLASS := ETC
|
|
LOCAL_MODULE_TAGS := debug
|
|
LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/init
|
|
|
|
include $(BUILD_PREBUILT)
|
|
|
|
include $(call first-makefiles-under,$(LOCAL_PATH))
|