Commit graph

80 commits

Author SHA1 Message Date
Elliott Hughes
26864bf9cb Switch to the new bionic fatal logging interface.
This is more general and will work for anyone's custom logging
code, as long as they use ANDROID_LOG_FATAL priority.

Change-Id: Iaf7fc0858fce04f3af407882a58ee5a827d50ddd
2014-05-06 20:40:15 -07:00
Mark Salyzyn
5045f57525 liblog: logcat: Move library print test into gTest
Change-Id: Icd33808d4c974625f4fd0a126a90a2b4c90c8315
2014-05-02 14:16:00 -07:00
Mark Salyzyn
d2e3747e70 liblog: test bionic libc_logging.cpp
Change-Id: Ia778c43513a28c85ae54e96926ee9ed56717d527
2014-04-25 10:59:29 -07:00
Mark Salyzyn
8444eb81b3 logd: liblog: ALOG silently drops excessively long messages
Bug: 14280914
Change-Id: Idddd29784625094e54144953c29f64692a88eee9
2014-04-24 15:49:57 -07:00
Elliott Hughes
6798914b6f Merge "Improve liblog's fatal logging." 2014-04-24 20:33:59 +00:00
Elliott Hughes
da6b2e2fd7 Improve liblog's fatal logging.
This makes LOG_ALWAYS_FATAL and LOG_ALWAYS_FATAL_IF as good as regular
assert(3).

Change-Id: I0666684d30cae7baf23c64b33d35c1e43f81acf0
2014-04-24 13:28:24 -07:00
Mark Salyzyn
696817d352 liblog: Statistics truncated to 16384 bytes
- if network read/write broken up, reassemble the pieces.
- Use a 20ms poll to check if a new fragment has been
  sent by the other side.
- fixup logd-unit-tests to take a (simplified) fragment
  from the liblog changes.

Bug: 14164765
Change-Id: I98ff87888c119e1e8349717646d0f733e8971bc8
2014-04-21 17:07:25 -07:00
Mark Salyzyn
99f47a9e7c logd: liblog: logcat: debuggerd: Add LOG_ID_CRASH
Change-Id: Iea453764a1a4fc1661f461f10c641c30150e4d20
2014-04-16 15:38:50 -07:00
Ben Cheng
1bafa52172 Fix signed vs unsigned comparison.
Change-Id: I4011607858f3a82acc04509c9f795f960496ed69
2014-04-11 16:27:30 -07:00
Mark Salyzyn
1c95047939 logd: liblog: logcat: enable prune features for user
- Enable whitelist, blacklist and logsize tuneables for user

Change-Id: Id0c283844c71c5263a8cfbebf2e550f7ac415858
2014-04-02 13:12:04 -07:00
Mark Salyzyn
e644664f1c Merge "liblog: deal with restart of logd" 2014-03-26 23:24:22 +00:00
Mark Salyzyn
8196be3032 liblog: test for LOGGER_ENTRY_MAX_PAYLOAD compliance
- Add max_payload test
- Add dual_reader test
- Switch to EXPECT from ASSERT to increase test coverage

Bug: 13514601
Change-Id: I0e1c273e0ec430c0461e424731dbf166f2a3ce1b
2014-03-26 10:49:46 -07:00
Mark Salyzyn
8245af1ffd liblog: deal with restart of logd
- API change, return -errno on failure for log writing
- ENOTCONN results in a reconnection and a retry of the write

Change-Id: Ib0a90b730edeaa7e3a3c9797e4e1b0c81b6adb0a
2014-03-26 09:20:22 -07:00
Mark Salyzyn
b992d0d7d3 logd: liblog: Thread IDs missing from logcat -v thread
- stuff caller's thread id into the packet.

Bug: 13568206
Change-Id: I02d0cdf9b1d9e839ff8969f591db42dfe6e4cc95
2014-03-21 10:37:44 -07:00
Greg Hackmann
8084a53897 liblog: improve errno handling on read failure
1. socket() failures should skip close(), since sock is not an open fd
2. on other I/O related failures, preserve errno around the close() call
3. set errno to a meaningful value on check_log_success() failure

Change-Id: I0fb9e726ae5fee2f7b84344aa925e5159d57c360
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2014-03-17 13:16:27 -07:00
Christopher Tate
5a6b8d15ea Fix build some more
Missed one.

(cherry picked from commit f7f080ce62)

Change-Id: I33bf8bcc651330b9bc434da02c47c29bc0d54369
2014-03-15 14:16:26 -07:00
Christopher Tate
dc507769b5 Fix the build
(cherry-picked from commit 296dc44637)

Change-Id: I924f4796fbb70a0f45cc23a852e26e634c5b0e0e
2014-03-15 13:57:34 -07:00
Mark Salyzyn
c0626fdcaf liblog: Build Breakage in sdk(linux)
- Build Breakage in branch: aosp-idea133 @ 1072786

Change-Id: I36da253b69a66977ec568a5f96d38b970c25fe3e
2014-03-14 12:05:57 -07:00
Mark Salyzyn
fa3716b250 logd: liblog: logcat: Arbitrary time to tail
Change-Id: I10e8d92c933e31ee11e78d2d1114261a30c4be0e
2014-03-14 10:23:51 -07:00
Mark Salyzyn
dfa7a07f5b logd: liblog: logcat: Add LogWhiteBlackList
- liblog android_logger_get_log_size and android_logger_get_readable_size
  adjusted to return long instead of int because of -G flag extending range

NB: ifdef'd only for userdebug and eng builds

- liblog Add android_logger_[sg]et_prune_list and android_logger_set_log_size
- logcat Add -P, -p and -G flags
- logd Add LogWhiteBlackList and configurable log size

(cherry picked from commit 18a5432158)

Change-Id: I1572338c1b34bd968ad7867857ef708156ec3b6a
2014-03-13 14:48:07 -07:00
Mark Salyzyn
34facab86b logd: liblog: logcat: Add Statistics
- logd add statistical collection and formatting
- liblog add android_logger_get_statistics call
- logcat add -S flag
- logcat add -b all

(cherry picked from commit 51a29c8dc4)

Change-Id: I521753b1969ecd4590c956aeeb1557d101059d67
2014-03-13 14:47:58 -07:00
Mark Salyzyn
99ff9469c5 logd: default user space logger
Change-Id: I16825c26f098241376d4014f3a8e93174387dbcf
2014-03-12 13:17:57 -07:00
Mark Salyzyn
7e2f83c0bc logd: liblog: 64-bit issues
- structure packing
- move towards log_time from struct timespec
- extend log_time to cover differences between
  log_time and struct timespec

Change-Id: I106ed0b609917306d170044054b5b32645f2a295
2014-03-05 16:12:28 -08:00
Mark Salyzyn
154f4608aa liblog: enable logging to logd.
* Modify liblog to send all messages to the new syslog user
  space daemon.

Original-Change-Id: I0ce439738cd921efb2db4c1d6a289a96bdbc8bc2
Original-Change-Id: If4eb0d09409f7e9be3eb4bb7017073dc7e931ab4
Signed-off-by: Nick Kralevich <nnk@google.com>

* Add a TARGET_USES_LOGD make flag for BoardConfig.mk to manage
  whether logd is enabled for use or not.
* rename syslog to logd to avert confusion with bionic syslog
* Add fake log support back in
* prefilter for logging messages from logd
* Fill in timestamps at logging source
* update abstract log reader
* switch from using suffix for id to v3 format
* log a message when creating devices that a deprecated interface
  is being utilized.

Signed-off-by: Mark Salyzyn <salyzyn@google.com>

(cherry pick from commit 099e2c1f6f706a8600c1cef74cce9066fc315480)

Change-Id: I47929a5432977a1d7235267a435cec0a7d6bd440
2014-02-28 13:49:11 -08:00
Elliott Hughes
5d9fe779c8 system/core LP64 cleanup.
Fixes -Wint-to-pointer and -Wpointer-to-int warnings, plus various -Wformat
warnings.

Change-Id: I6c5eea6b4273d82d28b8e5d2925f3e5457511b17
2014-02-05 18:02:11 -08:00
Kristian Monsen
7ddca5adb6 Fix code style, put unused in the end
Change-Id: I7315b35049924d5067203a432584b8f29e5a1391
2014-01-28 13:19:11 -08:00
Mark Salyzyn
d2acdd82e6 Merge changes I70ab37d5,I716f89c0,I34c96adf,I77650923,I35b0d1ee, ...
* changes:
  libsysutils: SocketListener export release
  libsysutils: Add iovec/runOnEachSocket
  liblog: support struct logger_event_v2 format
  liblog: update timestamp on NOTICE file
  libcutils: resolve warning in iosched_policy.c
  liblog: Add const pedantics
  logcat: Add -T flag (-t w/o assumption of -d)
  logcat: Add logcat test suite
  liblog: Add cpu utilization test
  liblog: Add liblog test suite
  debuggerd: Support newline split in log messages
  liblog: deprecate export LOGGER ioctl definitions
  liblog: deprecate export of LOGGER_LOG_* defines
  liblog: Add README
  liblog: resolve build warning messages
  liblog: high CPU usage from logcat
  liblog: fix build again
  liblog: drop use of sys/cdefs.h
  liblog: git_master@964770 build problem
  logcat: Incorporate liblog reading API
  debuggerd: Incorporate liblog reading API
  liblog: Interface to support abstracting log read
  adb: deprecate legacy log service interface
  adb: regression from Move list.c to inlines
  liblog: whitespace cleanup
  libcutils: bug str_parms.c:str_parms_get_float().
  libcutils: UNUSED argument warnings
  libsysutils: Get rid of warnings
  libcutils: Move list.c to inlines on list.h
2014-01-28 21:09:37 +00:00
Kristian Monsen
b5a9890f90 Fixes some warnings
- Implicit decleared function
- Unused variable

Change-Id: Ia701e66682cb6788f0716a2ef7556ed07227f78f
2014-01-28 11:28:32 -08:00
Mark Salyzyn
40b21558e5 liblog: support struct logger_event_v2 format
(cherry picked from commit c176e14ce3)

Change-Id: I34c96adffab3478dae8f5a2597a840caad5092cc
2014-01-27 15:21:29 -08:00
Mark Salyzyn
e7ff525a7e liblog: update timestamp on NOTICE file
(cherry picked from commit b69e092dc7)

Change-Id: I776509232aaa50e14fe79e45ab133c0ea3985933
2014-01-27 15:20:59 -08:00
Mark Salyzyn
cef098ef5d liblog: Add cpu utilization test
- followup to measure CPU utilization in liblog to
  ensure this issue gets caught before a regression
  passes into the labs. Threshold for failure is 1%.

(cherry picked from commit edadb2e719)

BUG: 12457855
Change-Id: I40568a72aeef2f554b19ad55f3dd3c02bc023f24
2014-01-27 15:18:09 -08:00
Mark Salyzyn
819c58a8ca liblog: Add liblog test suite
(cherry picked from commit 8d1fdb5093)

Change-Id: Ia457d518b4e7ff37e840336ff0c48583709700d4
2014-01-27 15:17:39 -08:00
Mark Salyzyn
1345f38e44 liblog: deprecate export LOGGER ioctl definitions
(cherry picked from commit 2e44a9ea25)

Change-Id: I150cad9309255bec2b8bc7230c744e9bbb1b9578
2014-01-27 15:16:43 -08:00
Mark Salyzyn
e9c4196980 liblog: deprecate export of LOGGER_LOG_* defines
(cherry picked from commit 73459a5c87)

Change-Id: I263af8e889f8f2ad91b91757caf90a4d17823dab
2014-01-27 15:16:04 -08:00
Mark Salyzyn
24b5d3cec5 liblog: Add README
(cherry picked from commit 912c88cc5a)

Change-Id: I9d789e08e9301ec8afa7be8bede955379694b904
2014-01-27 15:15:33 -08:00
Mark Salyzyn
168021c282 liblog: resolve build warning messages
(cherry picked from commit 153b370624)

Change-Id: Icc6f1f2c926a008efc4df71022cfde8d0e285880
2014-01-27 15:15:05 -08:00
Mark Salyzyn
d0a83fddf1 liblog: high CPU usage from logcat
BUG: 12457855

- log_read.c poll timeout should be -1 instead of 0 when idling

(cherry picked from commit 080bbfab94)

Change-Id: I9082a15fae0fbf999c0ed516950a49d65a279298
2014-01-27 15:14:18 -08:00
Colin Cross
11aa6ee98c liblog: fix build again
log_read.c has to be in the target sources on all platforms, but
never needs to be in the host sources.

(cherry picked from commit 3c37fae4a4)

Change-Id: Ie0829f3f1daf16d151c401653dbef603b1c2f59d
2014-01-27 15:13:49 -08:00
Mark Salyzyn
015c8e76ca liblog: git_master@964770 build problem
- darwin does not get log reader

(cherry picked from commit 5feea68908)

Change-Id: I64eb69a6099a88d2acf501de725c35741fd7e551
2014-01-27 15:12:15 -08:00
Mark Salyzyn
4295841ebe liblog: Interface to support abstracting log read
(cherry picked from commit 6c1b07fbbd)

Change-Id: Iedc55c1316029b4bb72f51cc656b53b0e3f90aee
2014-01-27 15:10:39 -08:00
Mark Salyzyn
cf4aa030ce liblog: whitespace cleanup
- change cutils to liblog directory path
- change tabs to spaces

(cherry picked from commit c1215c0b46)

Change-Id: I7d9db1e2b817ba0ec9a224340c5c7535a2387fd5
2014-01-27 15:08:42 -08:00
Colin Cross
9227bd3855 Move liblog headers to system/core/include/log
Move the liblog headers to log/ instead of cutils/ to complete
the separation of libcutils and liblog.  cutils/log.h still
exists and includes log/log.h in order to support the many existing
modules that use cutils/log.h.

Change-Id: I2758c9f4aedcb809ca7ba8383d0f55041dd44345
2013-07-24 12:32:39 -07:00
Nick Kralevich
a170322083 liblog: fix fd leakage
File descriptors remain open across an exec unless FD_CLOEXEC is
set.  Add O_CLOEXEC to the open() call to prevent file descriptor
leakage.

In particular, the following program will eventually run out of
file descriptors:

int main(int argc, char **argv) {
  printf("===== entering main =====\n");
  ALOGW("entering main");
  system("ls -l /proc/self/fd/");

  execv(argv[0], argv);
  printf("exec failed\n");
  return -1;
}

Change-Id: I5be43ab3b9f82a05f242b1f586454c50568af388
2013-03-15 09:48:32 -07:00
Wink Saville
3761e963b3 Use Rlog instead of Log
Changing __android_log_write so the tag warns users relying on the
tag to direct log output to the radio buffer to instead use Rlog or RLOG.

Change-Id: I04b7bb5e620c1ab22b9b495382a252b539947e28
2012-12-06 10:28:34 -08:00
Jeff Sharkey
84dcf09148 Collapse IMS tags into a prefix check.
Bug: 6497974
Change-Id: I7fba1a07e2552ce16131b81f30d18eb3192de7ef
2012-08-13 11:27:54 -07:00
Jeff Sharkey
44e95651dd Force IMS logging into radio log.
Bug: 6497974
Change-Id: I4691f287b0abdce03ff211bd5b5b0037b8818ec9
2012-07-17 11:32:21 -07:00
Elliott Hughes
f82e741163 Make a liblog.so for the host too.
Change-Id: I0317bb3b80c6555bcb1ff9f2238f32be5f7adedb

Conflicts:

	liblog/Android.mk
2012-05-03 16:04:57 -07:00
Andrew Hsieh
99e7f7af84 Added rules to build 64-bit libraries: lib64cutils.a and lib64log.a
Both libraries are needed to build four shared libraries in 64-bit
for 64-bit emulator with "-gpu on"
  lib64OpenglRender.so
  lib64EGL_translator.so
  lib64GLES_CM_translator.so
  lib64GLES_V2_translator.so

Change-Id: If57f72d4661a74f1d5e537568881f39132e0b43d
2012-03-01 23:58:50 -08:00
Andrew Hsieh
d2c8f52189 Fixed two 64-bit porting issues; Make pid/tid type consistent
1. In printf, use "%zu" for variable of type size_t
2. Print tid in %5d
3. Make type of pid/tid in AndroidLogEntry and logger_entry consistent

Change-Id: I3e3d9536ee58823f349a4734ae093d30eabe1bfe
2012-02-29 17:00:46 -08:00
Jeff Sharkey
a820a0e587 Gracefully handle truncated log messages.
Bug: 5522726
Change-Id: I8637c7da854ec1ecb321632c45ee9bc2edc94a67
2011-10-26 18:59:42 -07:00