(cherry pick from commit bd1ad049b2)
Based off an initial request and effort by williamluh@google.com
- Added the following functions:
* Composing and Writing:
android_log_context create_android_logger(uint32_t tag)
int android_log_write_list_begin(android_log_context ctx)
int android_log_write_list_end(android_log_context ctx)
int android_log_write_int32(android_log_context ctx, int32_t value)
int android_log_write_int64(android_log_context ctx, int64_t value)
int android_log_write_string8(android_log_context ctx, const char *value)
int android_log_write_float32(android_log_context ctx, float value)
int android_log_write_list(android_log_context ctx, log_id_t id)
* Reading and Interpreting:
android_log_context create_android_log_parser(const char *msg, size_t len)
android_log_list_element android_log_read_next(android_log_context ctx)
android_log_list_element android_log_peek_next(android_log_context ctx)
* Destroy context used above:
int android_log_destroy(android_log_context *ctx);
- Added unit gTests
We moved implemented android_log_buffer_to_string() to the test since
it is an alternate for already existing logprint functionality.
Please move into liblog should it be of some common use, otherwise
as is it is a good means of stessing the reading and interpreting
handlers.
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 19235719
Change-Id: I4aa1927e8e6a75f0a129d15a27c891cf1ccd4f5c
81 lines
2.8 KiB
Makefile
81 lines
2.8 KiB
Makefile
#
|
|
# Copyright (C) 2008-2014 The Android Open Source Project
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
LOCAL_PATH := $(my-dir)
|
|
include $(CLEAR_VARS)
|
|
|
|
# This is what we want to do:
|
|
# liblog_cflags := $(shell \
|
|
# sed -n \
|
|
# 's/^\([0-9]*\)[ \t]*liblog[ \t].*/-DLIBLOG_LOG_TAG=\1/p' \
|
|
# $(LOCAL_PATH)/event.logtags)
|
|
# so make sure we do not regret hard-coding it as follows:
|
|
liblog_cflags := -DLIBLOG_LOG_TAG=1005
|
|
|
|
liblog_host_sources := logd_write.c log_event_write.c fake_log_device.c event.logtags
|
|
liblog_target_sources := logd_write.c log_event_write.c event_tag_map.c log_time.cpp log_is_loggable.c
|
|
liblog_target_sources += logprint.c
|
|
liblog_target_sources += log_read.c
|
|
liblog_target_sources += log_event_list.c
|
|
|
|
# Shared and static library for host
|
|
# ========================================================
|
|
LOCAL_MODULE := liblog
|
|
LOCAL_SRC_FILES := $(liblog_host_sources)
|
|
# some files must not be compiled when building against Mingw
|
|
# they correspond to features not used by our host development tools
|
|
# which are also hard or even impossible to port to native Win32
|
|
LOCAL_SRC_FILES_darwin := event_tag_map.c
|
|
LOCAL_SRC_FILES_linux := event_tag_map.c
|
|
LOCAL_SRC_FILES_windows := uio.c
|
|
LOCAL_CFLAGS := -DFAKE_LOG_DEVICE=1 -Werror $(liblog_cflags)
|
|
LOCAL_MULTILIB := both
|
|
LOCAL_MODULE_HOST_OS := darwin linux windows
|
|
include $(BUILD_HOST_STATIC_LIBRARY)
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := liblog
|
|
LOCAL_WHOLE_STATIC_LIBRARIES := liblog
|
|
LOCAL_LDLIBS_linux := -lrt
|
|
LOCAL_MULTILIB := both
|
|
LOCAL_CXX_STL := none
|
|
LOCAL_MODULE_HOST_OS := darwin linux windows
|
|
include $(BUILD_HOST_SHARED_LIBRARY)
|
|
|
|
|
|
# Shared and static library for target
|
|
# ========================================================
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := liblog
|
|
LOCAL_SRC_FILES := $(liblog_target_sources)
|
|
LOCAL_CFLAGS := -Werror $(liblog_cflags)
|
|
# AddressSanitizer runtime library depends on liblog.
|
|
LOCAL_SANITIZE := never
|
|
include $(BUILD_STATIC_LIBRARY)
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := liblog
|
|
LOCAL_WHOLE_STATIC_LIBRARIES := liblog
|
|
LOCAL_CFLAGS := -Werror $(liblog_cflags)
|
|
|
|
# TODO: This is to work around b/24465209. Remove after root cause is fixed
|
|
LOCAL_LDFLAGS_arm := -Wl,--hash-style=both
|
|
|
|
LOCAL_SANITIZE := never
|
|
LOCAL_CXX_STL := none
|
|
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
include $(call first-makefiles-under,$(LOCAL_PATH))
|