History log of /system/core/logcat/logcat.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d7fb0a069d0076e08d34d54767114631de5d21a1 03-Apr-2017 Mark Salyzyn <salyzyn@google.com> logcat: Add -h and --help flags

If -h or --help argument was supplied, logcat would report the help
message but also return an error. Officially add -h and --help as
recognized flags, report all help with a (zero) success error code.
Adding this, and the associated test, was split off as a stepping
stone to resolving an issue with logcat -L or --last flag operations.

Test: gTest logcat-unit-tests --gtest_filter=*.help
Bug: 28788401
Bug: 30041146
Bug: 30612424
Bug: 35326290
Change-Id: I948e7fa4e92bd23f52717758ffd96bbd068c53d4
/system/core/logcat/logcat.cpp
94aab86d57ebd8ff6d9b542080538252e9581cf1 21-Feb-2017 bohu <bohu@google.com> Emulator: enhance logcat -Q to handle qemu pipe device

Upon opening, qemu pipe (a.k.a. goldfish pipe) requires a purpose
string so that emulator can route the content to the right channel
on the host.

This CL will ask emulator to send the content to pipe based 'logcat'
service on the host.

Change-Id: Icc71f81d5b95b64ea315fe10da82ff704416e449
/system/core/logcat/logcat.cpp
13e4735526fa47a3f45a373df8f560b204420756 06-Mar-2017 Mark Salyzyn <salyzyn@google.com> liblogcat: free up log_device_t structures

Was leaking log_device_t in command path. Cleanup leak in command
path and add thorough clean up on destroy for insurance.

Start grouping related like-type variables in the context structure
for more effective layout.

Test: gTest logcat-unit-tests
Bug: 35326290
Change-Id: Ibfbddec2d0e1bce24b87b035d67726cac1395574
/system/core/logcat/logcat.cpp
e9ade17418c2e8390d72ee694ab5c097ec765266 03-Mar-2017 Mark Salyzyn <salyzyn@google.com> liblogcat: introduce getopt_long_r

Resolve one of the threading issues by creating a private C++ified
copy of getopt_long_r that started out its life as the bionic
getopt_long, but is reentrant. Adds a new state context for the
stderr stream called optstderr. Utilize this new function in logcat.
Control opterr and optstderr to match liblogcat expectations. Correct
and fortify const.

Alternative would be to lock around _all_ getopt callers. This has
the advantage of requiring _no_ locks that could get in the way of
using liblogcat in a signal handler. The log reader interface does
run the risk of incurring locks and heap allocations though, so there
is more work to be done for that final goal.

Test: gTest logcat-unit-tests
Bug: 35326290
Change-Id: Ibb1b374c55d357d5d7fa5ad00bfaf07ae0bc4ba5
/system/core/logcat/logcat.cpp
b45a175cdc1fa00245ba13031b54d27074653f31 28-Feb-2017 Mark Salyzyn <salyzyn@google.com> liblogcat: -v and ${ANDROID_PRINTF_LOG} support comma separated list

Deal with yet another reentrancy issue with strtok() and do not
treat optarg as fungible data, allocate a temporary copy. Add
support in the -v flag and environmental variable ANDROID_PRINTF_LOG
for a comma-separated list of format and format modifiers.

Test: manual + gTest logcat-unit-tests
Bug: 35326290
Change-Id: I073e5676d59ba41bfd36df86942342766ef730f1
/system/core/logcat/logcat.cpp
de022a841f61b8aae1abadb46755867da5e4f2df 01-Mar-2017 Mark Salyzyn <salyzyn@google.com> liblogcat: replace NULL with nullptr

- Replace all NULL, macro defined to 0, with nullptr. nullptr is a
keyword of type nullptr_t, with a value of (nullptr_t)0, a pointer
type of sizeof(void*) that can not confusingly promote to an int.
- Replace all boolean evaluations of values against 0, NULL, and
nullptr with direct, ! or !! as appropriate.
- Note that thread_stopped should be semaphore, defer that to
a non-code-quality improvement patch.
- Check for null context in android_logcat_destroy.
- Run clang-format to realign format with setting.

Test: compile and gTest logcat-unit-tests
Bug: 35326290
Change-Id: Iaf729cd7899c6cece78431536ed325604f0e353f
/system/core/logcat/logcat.cpp
e3d0c968ac4bf6de2a0cacfb956ee5d8df8e7583 17-Feb-2017 Mark Salyzyn <salyzyn@google.com> liblogcat: add simple stdout redirection

Provide minimal redirection functionality, adding stdout redirection
to the existing stderr redirection parsing.

- stderr and stdout redirection do _not_ support append, will treat
like write only.
- stderr redirection does _not_ support filename. Only 2>&1 to
join stderr and stdout and 2>/dev/null to drop content on floor.
- stdout redirection supports filename only.
- stderr 2>&1 redirection must be last for shell compatibility.
- preserve 2>&1 through file rotation (bugfix)

Test: logcat-benchmarks --benchmark_filter='BM_logcat_popen*|BM_logcat_system*'
Bug: 35326290
Change-Id: Id36b59358167f21381bd1dbf0bd7a7e10e2a2ed9
/system/core/logcat/logcat.cpp
f9dbdbc5f5e2ecfe62617a866b1b18bbd8eb0dbf 21-Feb-2017 Mark Salyzyn <salyzyn@google.com> liblogcat: redirect logcat output correctly for -Q

The -Q option is used in emulator and it fails to redirect the
output of logcat to the desired file.

This CL fixes that problem.

There is no gTest because of /proc/cmdline sniffing for this option.
manually tested on /dev/qemu_pipe inside emulator

Test: manual
Bug: 35326290
Change-Id: I282da685e90450aadb2a989a0517dc3b1bb6634d
/system/core/logcat/logcat.cpp
1d6928b7360217e788ab5255b5667828e092936a 10-Feb-2017 Mark Salyzyn <salyzyn@google.com> liblogcat: add android_logcat_run_command_thread

A non-blocking API to run a logcat function in a background thread.
Returns a read end of a pipe to collect the output.

Test: gTest logcat-unit-tests
Bug: 35326290
Change-Id: Idc14e4ad955e0b2b9fafa5d3aeed8cd7fb4069fb
/system/core/logcat/logcat.cpp
c0cf90d1fb6aca1e6ae6c06d4d6231dd4d47d3cb 10-Feb-2017 Mark Salyzyn <salyzyn@google.com> logcat: Create liblogcat

Try to leverage as much of logcat as-is and produce a viable
library API that others can use for their own logcat execution.

Added a test to check ANDROID_PRINTF_LOG environment variable.

Test: gTest logcat-unit-tests
Bug: 35326290
Change-Id: I30de692ea9d83e6fd6e5d9e7cf93d31401a88a40
/system/core/logcat/logcat.cpp
f329029081f41f86d4631b4caeeb1ecf7ccae3d9 10-Feb-2017 Mark Salyzyn <salyzyn@google.com> logcat: Use std::string instead of large static buffer for -Q

Test: gTest logcat-unit-tests
Bug: 35326290
Change-Id: Ieed3223be2d1386897cfba5fa4d04549e72e4e50
/system/core/logcat/logcat.cpp
5f606605ed8b1f6a0966a7d145553e228561ddf1 10-Feb-2017 Mark Salyzyn <salyzyn@google.com> logcat: Add coding style

- Android coding standard compliance with an eye to reducing merge
impact.
- resolve a few misbehaviors in logcat_test.

SideEffects: none
Test: gTest logcat-unit-tests
Bug: 35326290
Change-Id: I63d0667ad34c0df11086a6ffe94b7030430b865b
/system/core/logcat/logcat.cpp
9b4d7e1c381289b6b6fba1794b5846e0d34da1cc 30-Jan-2017 Mark Salyzyn <salyzyn@google.com> logcat: test: inject() tuning

Add a hidden -v nsec flag to logcat (actually logprint in liblog.so)
so that we can do more exacting tests of logcat.tail_time. Halve the
spam pressure of logcat.tail_* in inject() routine, and give us a few
more retries at the higher counts. Add instrumentation to
logcat.logrotate failures. Add inject for logcat.year test.

Test: gTest logcat-unit-tests
Bug: 34454772
Change-Id: If6f3bd21892c8a2b9ccee8c8bbf592a1ae0b2a57
/system/core/logcat/logcat.cpp
26a1facfbf5264736c1bfad357f2c417d754b43a 20-Jan-2017 Mark Salyzyn <salyzyn@google.com> logcat: do not report security buffer errors

Do not report security buffer errors if not specifically
named in the buffer list.

Test: gTest logcat-unit-test --gtest_filter=logcat.security
Bug: 34511645
Change-Id: I028d51abad0329fcf42e467b135d035b06c1d2e3
/system/core/logcat/logcat.cpp
39e2d22b9368ae0e97bba75dcf6d5ab64e2241ce 29-Nov-2016 Oleksiy Avramchenko <oleksiy.avramchenko@sonymobile.com> logcat: Fix --last usage option typo

Test: mm
Change-Id: I0b7a1615857acd4cd467f1ff1752eeae86d84eca
/system/core/logcat/logcat.cpp
1179eb8048f5861bf92b29441230381526d30e5d 11-Nov-2016 Mark Salyzyn <salyzyn@google.com> system/core: replace EVENT_TAG_MAP_FILE with NULL

NULL represents system default. In the future, NULL could represent
static and dynamic tags, which can come from multiple files based on
implementation details in the liblog library.

Test: gTest logd-unit-tests & liblog-unit-tests
Bug: 31456426
Change-Id: I0e3d296de81ca299ae63d7b83781639ee67ec298
/system/core/logcat/logcat.cpp
538bc12c0807ceb850749b8803546b058e049146 17-Nov-2016 Mark Salyzyn <salyzyn@google.com> logcat: add hidden --debug flag and cleanup

Allow us to debug corrupted log messages. Fix liblog to propagate
errors correctly and repair a gtest that failed.

Test: liblog-unit-tests --gtest_filter=liblog.__android_log_bswrite_and_print___max
logcat -b events --debug -t 50
Bug: 32903864
Change-Id: Ib4eb9f466777cd23b8b54728d36354590d07869a
/system/core/logcat/logcat.cpp
4fd0507b20d5afcc7b67ec355dcd89df62e62fc6 18-Oct-2016 Mark Salyzyn <salyzyn@google.com> liblog: logcat: logprint support -v descriptive

Expand logprint feature to pull out the log tag description
fields, parse them and merge into the logging content. Add
-v descriptive, -v colour(british, hidden) and -v help. Also
added a unit test for the descriptive format borrowing from
event tags that have been unchanged since 2009.

Had to add -v help because we have too many undocumented
formats and format adverbs.

Test: gTest logcat-unit-tests --gtest_filter=logcat.descriptive
Bug: 31456426
Change-Id: I93a1c003b7a3f4c332544946fdedb7277919cec3
/system/core/logcat/logcat.cpp
9fa133cc286f7d2f1c565668d7675b7d7d4bdc0e 25-Oct-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "fix regression from android_lookupEventTag_len()"
9f53cac1b4e397c42bf640eec0eed4a2ffae6f60 24-Oct-2016 Mark Salyzyn <salyzyn@google.com> fix regression from android_lookupEventTag_len()

Commit 807e40ecc9786755e2f74a7a6a9b20c812588119 'liblog: logd: Add
android_lookupEventTag_len()' which addressed a Dirty Shared memory
leak resulted in a regression. Most notably logcat <tag> stopped
working for the events log buffer.

AndroidLogEntry::tag also requires callers to check out
AndroidLogEntry::tagLen as tag is no longer guaranteed to be
nul terminated.

Test: logcat-unit-tests --gtest_filter=logcat.event_tag_filter
Bug: 31456426
Change-Id: Ibe5236131b640eb5b7e3df0ab4b5f3e25b85ad45
/system/core/logcat/logcat.cpp
aeaaf81c2cc8366ac4f66eb3d2fc85f9b8194982 30-Sep-2016 Mark Salyzyn <salyzyn@google.com> liblog: logd: logcat: Split out log/logger.h into public and private.

log/logger.h pieces moved into log/log.h. Correct for some
minor Android Coding standards.

Test: gTests liblog-unit-tests, logd-unit-tests and logcat-unit-tests
Bug: 19235719
Bug: 26552300
Bug: 31289077
Bug: 31456426
Change-Id: I0a19fd8788eec20a582e72e4c62c04534bdb1b9a
/system/core/logcat/logcat.cpp
0dd4431072cce3c62876b728cb20aa5b77b11a8d 29-Sep-2016 Mark Salyzyn <salyzyn@google.com> logd: logcat: Replace log/log.h with android/log.h

Should use android/log.h instead of log/log.h as a good example
to all others.

Test: Compile
Bug: 26552300
Bug: 31289077
Change-Id: If4c9711eb57267d4707b03d54a932af9de241b13
/system/core/logcat/logcat.cpp
a166708d1541007ab5502040051e31863a29edce 28-Sep-2016 Mark Salyzyn <salyzyn@google.com> liblog: logcat: Replace log/logd.h with log/log.h

Should use log/log.h and in some cases android/log.h instead. Can
not remove file because still in use by partners, so log/logd.h
points to log/log.h.

Test: Compile
Bug: 26552300
Bug: 31289077
Change-Id: I3580d46154617abb7231027a44f4ab9ee023febf
/system/core/logcat/logcat.cpp
004cd3c55def10a92888295a9bad5fd0a18b725e 28-Sep-2016 Mark Salyzyn <salyzyn@google.com> liblog: logd: logcat: deprecate log/log_read.h

Always used in combination with log/logger.h except in log_time.cpp,
and not used externally. As a result liblog has to support stl, a
small price to pay since goal is to convert liblog to C++ internally.

Test: compile
Bug: 31456426
Bug: 26552300
Bug: 31289077
Change-Id: I72828ec807d0a2c8e40bbdebd7a69f147a7ca5a9
/system/core/logcat/logcat.cpp
ad5e411608a503a6a27c1e0515e1a0272c320bf2 04-Aug-2016 Mark Salyzyn <salyzyn@google.com> logcat: -d, -t or -L, along with -f, do not background

Specifically logcatd with exec logcat -L needs to be foreground
process cgroup as it is spawned and can block init progress. Makes
sense generally to only set background cgroup when we are taking
continuous content, and we are pushing that content to a set of
logrotate files.

Rename setupOutput to setupOutputAndSchedulingPolicy to more
clearly indicate its purpose.

Bug: 30630936
Bug: 30612424
Bug: 28788401
Change-Id: I628d590a42a53a6b448ecd0af53d6d1edf7bbb0e
/system/core/logcat/logcat.cpp
31961061d5c483596616afaa69b33f77fea5ff97 04-Aug-2016 Mark Salyzyn <salyzyn@google.com> logcat: lastLogTime only two most recent files

Scaling issues if -f logrotation is specified and there are a lot of
log files to process in lastLogTime, focus on only the last two log
files. This will cover the situation where we have recently rotated
the logs and the last file is missing or empty.

This also alters monotonic processing as well as it used to focus on
only the last file; the danger being doubled now if the pair covers
more than one reboot when filling in missing content with logcat -L.
Problem was always there with one log file, but now we handle if
rotation happened recently. A fair tradeoff for KISS.

Bug: 30630936
Bug: 30612424
Bug: 28788401
Change-Id: I1c13b94e88f5edc08ecef52d407e296874ca5807
/system/core/logcat/logcat.cpp
02687e75b0d17ef08ab834553ba2fa3699fba09e 03-Aug-2016 Mark Salyzyn <salyzyn@google.com> logcat: add --id=<id> for -f option

Clear file rotate content if id signature changes. This allows
logcatd to detect change of property ro.build.id to reset the
recorded data. The id is stored in the the -f filespec as
<filespec>.id.

If the id file is missing or unreadable, do not clear. Allow an
API where chmod 0 to the id file blocks this feature. Does not
work for root.

Add logcat.logrotate_id gTest.

Bug: 30591615
Change-Id: I895749ca7c6d4af57ec57f058a29d8e3af2f8b27
/system/core/logcat/logcat.cpp
5b1a538fc8c0d389071e737e527066de7c1d4735 03-Aug-2016 Mark Salyzyn <salyzyn@google.com> logcat: switch to android::base::StringPrintf

asprintf should be replaced with StringPrintf, solves
a memory leak issue because of exiting scope.

Bug: 30591615
Change-Id: I88644cc27946ba4f25d4539420199c6f40df1bfa
/system/core/logcat/logcat.cpp
e735a7305bddf53545a8ff84c37cf0a2d7000363 06-Jul-2016 Mark Salyzyn <salyzyn@google.com> logcat: help spelling correction

threadtime and added clarity for adverbs

Bug: 29916087
Change-Id: Idbed8bc74147c105eaced940d035d0649a244b18
/system/core/logcat/logcat.cpp
9cfd1c6ebc613830ce8c0f427a3c3e53dfc7f34f 06-Jul-2016 Mark Salyzyn <salyzyn@google.com> logcat: format verbs and adverbs

Bug: 29916087
Change-Id: I039c95b9dc0aa88f1219121513899934381453ae
/system/core/logcat/logcat.cpp
b7d059bb2f4e480d2787cf41e03ef85b75503910 06-Jun-2016 Mark Salyzyn <salyzyn@google.com> logcat: clear when specifying file output

If -c and -f are both specified, clear the files rather
than notifying the logger to clear its data. The -f then
acts like a switch between clearing the in-memory log
data, or the on-disk logrotate data.

Bug: 28936216
Change-Id: Ib1d1fb46ea09f81a2fd9bebb6c8f0f9f2355f6e8
/system/core/logcat/logcat.cpp
1325ebfab2e490b7cb22900be2a859b133acb6eb 07-Jun-2016 Mark Salyzyn <salyzyn@google.com> Revert "logcat: expand -n, -r and -b"

This reverts commit 33c262513f67d18a7a95d6cd0ec870f0d50dce86.

Bug: 28120456
Bug: 22654233
Change-Id: I2a13f009d9e08dc2389b9872e45e95e0563af22f
/system/core/logcat/logcat.cpp
33c262513f67d18a7a95d6cd0ec870f0d50dce86 12-Apr-2016 Mark Salyzyn <salyzyn@google.com> logcat: expand -n, -r and -b

- Add property expansion to the -n/--rotate-count,
-r/--rotate-kbytes and -b/--buffer parameters.
e.g. -r '${logcat.rotate-count:-6}' will expand the property
logcat.rotate-count, and if not present will default to 6
- Add gtest to confirm mid-stream expansion
- No longer support ",:;<whitespace>" for buffer tokenization,
settling on only supporting ",".

Bug: 28120456
Change-Id: I7ebb6146f72047631536c457952fa50d0abb98ab
/system/core/logcat/logcat.cpp
45177732966d82a9ee8d558f9b115e061e0c7208 11-Apr-2016 Mark Salyzyn <salyzyn@google.com> logcat: allow comma-separate list of buffers

- Add parsing to support comma+ separated list of buffers.
- Move get_size test into a standalone get_groups function
- add some additional tests for this feature, leveraging
get_groups to confirm buffer selection.

Bug: 28120456
Change-Id: I0b42736c08cf4b2a435cb74cda540dc163a26bd1
/system/core/logcat/logcat.cpp
378f4745a27632f3bb26e7029fe55142001f3d47 12-Apr-2016 Mark Salyzyn <salyzyn@google.com> logcat: Adjust help to make it more meaningful

It is not clear about the long option aliases, list
them comma separate first for clarity. Squash lines
of help content if possible. Lock to 3 indents, one
for options, another for text on same line as options
and another for next line or continuation.

Bug: 28120456
Change-Id: I5331acde3ac0fd3b87f6699ba108f6cef46a1563
/system/core/logcat/logcat.cpp
c18c2130d036b115b222860366a97e26a2a1c038 01-Apr-2016 Mark Salyzyn <salyzyn@google.com> logcat: -f <non-existent-directory>/<filename> segfaults

- Check if the result of opendir is NULL in lastLogTime
- Cleanup: alphabetically sorted long options, reserved
an alias for --regex
- Add a unit test, non existent directory should return
gracefully with an exit(1) and not SIGSEGV.

NB: This failure was with eng/debug feature logpersist
turned on, /data/misc/logd/ directory was missing,
deleted, or temporarily inaccessible.

Bug: 27954627
Change-Id: I60246a53b02fdd7e5490fe458b02ad7b14843584
/system/core/logcat/logcat.cpp
c9202777cf0a135be729b1bfdb4c8c57344296e6 30-Mar-2016 Mark Salyzyn <salyzyn@google.com> logcat: add --print flag

To be used in combination with --regex and --max-count flags
to allow all prints to pass through, but still stop when
max-count is hit.

Bug: 27706081
Change-Id: Idaa9f0b44586a885b9d9f367824b0072c0853227
/system/core/logcat/logcat.cpp
d85f6461b647d6f6e4c02d837884a0bda78930ba 30-Mar-2016 Mark Salyzyn <salyzyn@google.com> logcat: posixize and extend long arguments

- change _ to - for long arguments
- added --tail as hidden undocumented alias for -t
- added --head as hidden undocumented alias for --max-count

Bug: 27706081
Change-Id: I614cc83ae56b305b267f64ed05dc3ed3027dabd4
/system/core/logcat/logcat.cpp
aa730c1145a4670dead4973b791d47258a1c29f9 30-Mar-2016 Mark Salyzyn <salyzyn@google.com> logcat: support --regex on binary buffers as-is

- Do not restrict regex on LOG_ID_EVENTS or LOG_ID_SECURITY.
- some logcat_panic messages need to incorporate a newline.
- deal with some coding standards issues.

Bug: 27706081
Change-Id: Ie647fd62d027b01004177559d68b8e5a346705e6
/system/core/logcat/logcat.cpp
c6d6652df52bb65984f6be1f8e57606d3f5a6e69 30-Mar-2016 Mark Salyzyn <salyzyn@google.com> logcat: do not assign 0 or NULL to global variables

Bug: 27706081
Change-Id: If29d8d688ca7cce9b22227eeff1e9b500e728a50
/system/core/logcat/logcat.cpp
6ac498d4bbfe262595a77bacb2df9bda2c128222 17-Mar-2016 Casey Dahlin <sadmac@google.com> logcat: Add --max-count option

This new option causes logcat to quit after it prints N messages.

Test: New unit test passes
Bug: 27706081
Change-Id: Ie52ddf300160a041e68a6bac0ae7ade68bb28a7c
/system/core/logcat/logcat.cpp
dc42a8734e5394eef022984de528718e195a0e8e 18-Mar-2016 Casey Dahlin <sadmac@google.com> logcat: Add --regex option

You can now filter log output by a regex on the messages.

Test: New unit test passes
Bug: 27706081
Change-Id: Idfa637f62a25fb1b92e9b49b89572dff0fec6e08
/system/core/logcat/logcat.cpp
b9e53b4d2ddc7fdf758470de4f6b3e66a7e53f78 17-Feb-2016 Elliott Hughes <enh@google.com> Remove logcat's false dependency on a libutils header file.

Change-Id: Idf499d77e88d2ee7d5b1050eaf45ba29481793a4
/system/core/logcat/logcat.cpp
86052a5d4f217a73c769c77f7ac0904b65e67942 11-Dec-2015 Mark Salyzyn <salyzyn@google.com> Merge "logd: liblog: logcat: Add LOG_ID_SECURITY"
90e7af30a54d4e42637dd4d669a7d5ebab904c29 08-Dec-2015 Mark Salyzyn <salyzyn@google.com> liblog: logprint add uid format modifier

Bug: 25996918
Change-Id: Idff5e080fc5c7b69e0c45d3f596eb9d632451cbd
/system/core/logcat/logcat.cpp
083b037c0740ca00f72429e4457bfdd4b4d4dfa7 04-Dec-2015 Mark Salyzyn <salyzyn@google.com> logd: liblog: logcat: Add LOG_ID_SECURITY

- Largish commit, buffer and access controls done together
- Add LOG_ID_SECURITY binary content log
- Add "default" meta buffer
- allow LOG_ID_SECURITY only from AID_SYSTEM and AID_ROOT UID & GID
- Use __android_log_security() to gate logging
- Add __android_log_security_bwrite() native access to security
logging.
- Add liblog.__security_buffer end-to-end gTest

Bug: 26029733
Change-Id: Ibcf5b4660c17c1aa6902c0d93f8ffd29c93d9a93
/system/core/logcat/logcat.cpp
41ba25f864380d5fe9e0f9a8c51dce17263807fa 30-Nov-2015 Mark Salyzyn <salyzyn@google.com> logcat: Add --wrap timeout

Always ANDROID_LOG_WRAP_DEFAULT_TIMEOUT seconds (2 hours).
--wrap takes argument, the argument is currently ignored.

Future: Add new API that allows setting of wrap timeout.

Bug: 25929746
Bug: 21615139
Change-Id: Ib441cecfb6e4264c18adb70c705314440ba85e65
/system/core/logcat/logcat.cpp
f8bff87c65eeaa0a97ba904e8d815b07cc03c91e 30-Nov-2015 Mark Salyzyn <salyzyn@google.com> logcat: Add low hanging fruit long arguments

Add long arguments file, rotate_kbytes, rotate_count, format,
dividers, clear, buffer_size, last, buffer, binary, statistics
and prune.

Bug: 21615139
Change-Id: Ieb1bbe3d47e6711a1e91c74522630d39f8981621
/system/core/logcat/logcat.cpp
562e513d4b3860d3ec831a66817fa141ce17b77f 05-Jun-2015 Kristian Monsen <kristianm@google.com> logcat: Add long arguments to logcat, support for pid filter

Bug: 21615139
Change-Id: I3e63e43067f8089c18658e4100e901fb2a9630ae
/system/core/logcat/logcat.cpp
ba7a9a016bf011fdf45b6736d4c6d6795faba9d3 02-Dec-2015 Mark Salyzyn <salyzyn@google.com> logd: liblog: logcat: switch to android_log_clockid() (2)

android_log_timestamp returns the property leading letter,
it is better to return a clockid_t with android_log_clockid()

Bug: 23668800
Change-Id: I38dee773bf3844177826b03a26b03215c79a5359
/system/core/logcat/logcat.cpp
b566435b02d90663b5a26ba795bfb2f0102e8833 07-Dec-2015 Mark Salyzyn <salyzyn@google.com> Merge "Revert "logd: liblog: logcat: switch to android_log_clockid()""
9e18cdcebd893fbbb2369d893be219a7d832865f 07-Dec-2015 Mark Salyzyn <salyzyn@google.com> Revert "logd: liblog: logcat: switch to android_log_clockid()"

This reverts commit 77b5696b1dea6f7afed89e113e479f4a131c14fc.

Change-Id: I7711bf1a7e3f72ed29a2498d7287b725a0e624bd
/system/core/logcat/logcat.cpp
9eca0e775b8462788e988218c8582bf341dfdfeb 07-Dec-2015 Mark Salyzyn <salyzyn@google.com> Merge "logd: liblog: logcat: switch to android_log_clockid()"
4f71319df011d796a60a43fc1bc68e16fbf7d321 05-Dec-2015 Elliott Hughes <enh@google.com> Track rename of base/ to android-base/.

Change-Id: Idf9444fece4aa89c93e15640de59a91f6e758ccf
/system/core/logcat/logcat.cpp
77b5696b1dea6f7afed89e113e479f4a131c14fc 02-Dec-2015 Mark Salyzyn <salyzyn@google.com> logd: liblog: logcat: switch to android_log_clockid()

android_log_timestamp returns the property leading letter,
it is better to return a clockid_t with android_log_clockid()

Bug: 23668800
Change-Id: I3c4e3e6b87f6676950797f1f0e203b44c542ed43
/system/core/logcat/logcat.cpp
b6bee33182cedea49199eb2252b3f3b442899c6d 08-Sep-2015 Mark Salyzyn <salyzyn@google.com> liblog: logd: support logd.timestamp = monotonic

if ro.logd.timestamp or persist.logd.timestamp are set to the value
monotonic then liblog writer, liblog printing and logd all switch to
recording/printing monotonic time rather than realtime. If reinit
detects a change for presist.logd.timestamp, correct the older entry
timestamps in place.

ToDo: A corner case condition where new log entries in monotonic time
occur before logd reinit detects persist.logd.timestamp, there
will be a few out-of-order entries, but with accurate
timestamps. This problem does not happen for ro.logd.timestamp
as it is set before logd starts.

NB: This offers a nano second time accuracy on all log entries
that may be more suitable for merging with other system
activities, such as systrace, that also use monotonic time. This
feature is for debugging.

Bug: 23668800
Change-Id: Iee6dab7140061b1a6627254921411f61b01aa5c2
/system/core/logcat/logcat.cpp
4cbed02e440dc400668fbdfb8ce4a710e5caebe5 01-Sep-2015 Mark Salyzyn <salyzyn@google.com> liblog: logcat: add epoch and monotonic format modifiers

- '-v epoch' prints seconds since Jan 1 1970
- '-v monotonic' print cpu seconds since start of device
- '-T sssss.mmm...' as alternate tail time format

NB: monotonic is a best estimate and may be out by a few ms
given the synchronization source clue accuracy.

Bug: 23668800
Change-Id: Ieb924b6d3817669c7e53beb9c970fb626eaad460
/system/core/logcat/logcat.cpp
603b8e50c8e542b4c0e51ed742a714cb14e8dd9b 17-Sep-2015 Mark Salyzyn <salyzyn@google.com> logcat: do not exit buffer loop on error

- Alter logcat to collect error(s) for open, clear, get size or set
size; moving on to other buffer ids. Then after loop completed,
report and exit for the last error reported.

Bug: 23711431
Change-Id: I63a729d27544ea8d5c6119625c1de0210be0eb70
/system/core/logcat/logcat.cpp
9812fc4bd0b92baeb8f1cad6abdc440512e3cf40 06-Oct-2015 Mark Salyzyn <salyzyn@google.com> logcat: continue where we left off

Issue introduced as part of new logcatd functionality in
commit f3555d9427425c2cba9600ceffb49305c440aa4a

Faulty logic, add a gTest to confirm.

Bug: 19608716
Change-Id: Ic1b97def25e03e69faae4398a3dff2ff0f88545e
/system/core/logcat/logcat.cpp
f28f6a9ba228803b402ebaccb59f1b2f2fd4af92 31-Aug-2015 Mark Salyzyn <salyzyn@google.com> liblog: logcat: Add year and zone to date on each line

- '-v year' modifier adds the four digit year prefix
- '-v <timezone>' modifier sets and prints the timezone suffix
- Only promise in logcat to support UTC as a timezone since
all others are based on the configured environment
- '-v zone' modifier toggles the timezone suffix on or off
- '-T YYYY-MM-DD HH:MM:SS.mmm...' format is added

Bug: 23668700
Change-Id: I7521c1efb7455dc9a25434fce72a69a65dcf72ea
/system/core/logcat/logcat.cpp
aede9897df492e7dd550f581e49d9151b36fcea8 09-Jun-2015 Riley Andrews <riandrews@google.com> Lower the priority of the threads in logd/logcat.

(cherry pick from commit d98f4e8af5076e6a9dbd4ddc2c375cb7bcda8cd8)

sched_batch implies only a penalty to latency in scheduling, but
does not imply that the process will be given less cpu time. Increase
the nice level to 10 to prioritize it below ui threads.

Bug: 21696721
Change-Id: I075af059dc755402f7df9b0d7a66cca921ff04b2
/system/core/logcat/logcat.cpp
b932b2f8bac124b088edc93966281cca4567dc54 15-May-2015 Mark Salyzyn <salyzyn@google.com> liblog: logcat: Add printable format modifier

- added printable format modifier:
logcat -v printable
- opencoded borrowed individual utf8 validity checking algorithm
from utf8_length() in libutils/Unicode.cpp
- if considered basic one-character ASCII, use popular \x escape
sequences for non-printable
- logprint convert to C comments to drop mixed-mode

Bug: 19000361
Change-Id: I122a5b8fb41216fc0bc816178c0b768f3df56586
/system/core/logcat/logcat.cpp
3ef730c57f88ac24b0d6b021e43fc344d602fe36 02-Jun-2015 Mark Salyzyn <salyzyn@google.com> logcat: -f run in background

- if saving to file, set SP_BACKGROUND policy
- if saving to file, set BATCH priority
- sort include files

Bug: 19608716
Change-Id: I00acb8b8db0d2ff9ff36c97f9e74604d31938376
/system/core/logcat/logcat.cpp
f3555d9427425c2cba9600ceffb49305c440aa4a 27-May-2015 Mark Salyzyn <salyzyn@google.com> logcat: -f flag to continue

On startup, check the current logging content, then grab logs from
that time forward rather than restarting from the beginning. Add
support for reading tail time down to the nano-second.

Bonus, permits us to create a logcatd logpersist daemon

Bug: 19608716
Change-Id: Iaab58de4c02b7f97c69de12cf954fedc2163059e
/system/core/logcat/logcat.cpp
e1f2004ecc05ce2d5d4313d16c7791594643f2ef 06-May-2015 Mark Salyzyn <salyzyn@google.com> logcat: liblog: Add "usec" format argument

- Add additional 3 digits of time precision for time output
adding in the reporting of usec
- Remove trailing space in header file

Change-Id: Ifb560850b8e01080e126fbaeab640db71cce3eea
/system/core/logcat/logcat.cpp
77d7e81c1c06fe47b07c3252cb21de86dbaedcd5 13-Apr-2015 Mark Salyzyn <salyzyn@google.com> logcat: build regression

printflike checks for NULL fmt at compile time, checks for
NULL at runtime are optimized out. Regression as a result
of commit 5976303aa6e55a9e81eadb35d50f458052e3fa24.

Change-Id: Ia4e7ee4b6cb2adf1e6609c70e79684855f76e6fc
/system/core/logcat/logcat.cpp
5976303aa6e55a9e81eadb35d50f458052e3fa24 10-Apr-2015 Traian Schiau <traianx.schiau@intel.com> logcat: Minor fixes

Remove -r default value implementation (since is not functional).
Check the status of some memory allocations.
Make sure that the pruning buffer is set to NULL if we get to the end of the loop.
Make sure that the file status is successfully retrieved before using the size.
Add strtouia - string to unsigned argument.
Add logcat_panic with/without printing an error message and help.
Play nicer with the android namespace.

Change-Id: Id4c37cf64968128424e29bf1725f6c9a5924a0e2
Signed-off-by: Traian Schiau <traianx.schiau@intel.com>
/system/core/logcat/logcat.cpp
bba894af3f4260dcabfee902d4e3836a606da9b8 09-Mar-2015 Mark Salyzyn <salyzyn@google.com> logcat: fortify help on filterspec

Bug: 19620794
Change-Id: I572ffb62d39d884d5102b0846a95b1a8216f3d41
/system/core/logcat/logcat.cpp
5f6738af4897f11d5a6674cffefdfcd2b46c5890 27-Feb-2015 Mark Salyzyn <salyzyn@google.com> logcat: remove dead label code

Change-Id: I12d6aa4ebf48f06faf9435b4ffedfd309629cf3b
/system/core/logcat/logcat.cpp
9421b0c0600030f84c81b05e708e2d7b1a3f9b1c 26-Feb-2015 Mark Salyzyn <salyzyn@google.com> logcat: do not stop on unexpected log ID

We are changing the log read API to allow event notification
regarding logging system data loss. We would like these out
of band events to be reported.

Change-Id: I9e802113604d8cc0fc9adff0d1e014bbc40914fe
/system/core/logcat/logcat.cpp
7c975ac3a471d4c7f6a7246558e5e9295118a97d 15-Dec-2014 Mark Salyzyn <salyzyn@google.com> logcat: add pstore read

Used to pull the Android log messages after a reboot.
A companion to the pstore console logs. Adding the -L
flag triggers this behavior.

Change-Id: Icce2dc00bcbb26975bea604420c6be397869e804
/system/core/logcat/logcat.cpp
7b30ff8d8768241af0e036e4d9296d07b2dde66a 26-Jan-2015 Mark Salyzyn <salyzyn@google.com> logcat: Add -D print dividers flag

Permits a single thread to collect several log buffer and
to separate them out into named buckets by keying off the
dividers ---------

Change-Id: I5a92c67383a73ea566cb9b9732d26d88d9c41c66
/system/core/logcat/logcat.cpp
2d3f38a6b8e724749b59d201a01b35fa0951141e 26-Jan-2015 Mark Salyzyn <salyzyn@google.com> liblog: introduce ANDROID_LOG_* flags

Move away from using POSIX open(2) flags and introduce ANDROID_LOG_* flags to
replace them. Add security by preventing random mode flags from getting into
underlying POSIX calls. ANDROID_LOG_* flags overlap POSIX O_* flag definitions.

Change-Id: Ib32bb64c287e8bf150be62242e1ba46bb37839fc
/system/core/logcat/logcat.cpp
d0bd1b1b58a31c193889eef1b427e9fd3f77b782 11-Oct-2014 Mark Salyzyn <salyzyn@google.com> logcat: use liblog to determine -b all list

- This is done to prevent the administrivia of adjusting
logcat sources every time a new log id is added.

Change-Id: I0074afb00694c2c00f6c3a66e58c15691146a6c5
/system/core/logcat/logcat.cpp
eba7344fc1aca4ae232b881fdf6c5b16e6f59bc9 17-Oct-2014 Aristidis Papaioannou <aristidis@google.com> Made suffix length of rotated logcat files constant.

The suffix now uses as many digits as needed to cover the maximum number
of rotated files.

eg, for 20 files it would use 2 digits: log_file.{01,02,03,...,20}

Change-Id: I4709b3cf4bf88c209db3c4d9e24a3a4731c98bae
/system/core/logcat/logcat.cpp
649fc605f8094c06a38251466ccb15a722e8a91f 16-Sep-2014 Mark Salyzyn <salyzyn@google.com> logcat: -v format defaults to threadtime

Change-Id: Iafddf83b0507a667e0395d38ec9afaed67319018
/system/core/logcat/logcat.cpp
ead88fca6e7178ed8b6e89701a5842a3e34a0a3f 17-Oct-2010 Pierre Zurek <pierrezurek@gmail.com> liblog: logcat: colored output.

This patch adds a new '-v color' option to logcat so that the output is
colored similar to the ones in DDMS. Simply type "adb logcat -v color"
to use it. Works well with bash in gnome-terminal. NO GUARANTEE IT WILL
WORK ON A NON xterm STYLE TERMINAL.

Signed-off-by: Michael Zimmermann <sigmaepsilon92@gmail.com>
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Change-Id: I9189c5f27fed991579edbcbc6834536eb8112152
/system/core/logcat/logcat.cpp
190b7ac9d2a06b49d20d1b0d8eb5c9251636288f 01-Sep-2014 Mark Salyzyn <salyzyn@google.com> logcat: document help tail from time

(cherry picked from commit 6a594683ec8aa2c8cee98a95f502772db515e60e)

Bug: 17323719
Change-Id: Id057dde60e699c946828f4aeabedf1728b3bc877
/system/core/logcat/logcat.cpp
0b2dac4f3f289448e5728e6c2f7d9ac04cdafdeb 07-Jul-2014 Mark Salyzyn <salyzyn@google.com> logcat: parse failure for -n <KBsize> and -r <rotate limit>

Bug: https://code.google.com/p/android/issues/detail?id=72867
Change-Id: Id0c988543ecfccc5054d15d4195ef578468d50af
/system/core/logcat/logcat.cpp
e4369d68a255790ff0ed21ba31d3dcbb520df09d 27-May-2014 Mark Salyzyn <salyzyn@google.com> logd: logcat: debuggerd: audit logs to events and main

- auditd spawn log copy to events and main
- logcat delete events as one of the default logs
- debuggerd do not collect events.
- squish multiple spaces
- switch from strcpy to memmove for overlapping buffers

BUG: 14626551
Change-Id: I89b30273ce931ed2b25a53ea9be48e77f4c1bbf4
/system/core/logcat/logcat.cpp
989980c55d9a11766b8698a97ce5eef3d8cfa286 14-May-2014 Mark Salyzyn <salyzyn@google.com> logd: logcat: debuggerd: auditd logs to events

- auditd switch to recording logs to events log id
- logcat add events as one of the default logs
- debuggerd collect events log as well.

ToDo: debuggerd & bugreport collect intermixed logs.

BUG: 14626551
Change-Id: I958f0e729b7596748be57488a38824db5645be7b
/system/core/logcat/logcat.cpp
671e343c7d9c832eca093325c0b8b934c47a83b4 06-May-2014 Mark Salyzyn <salyzyn@google.com> logd: logcat: Add persist.logd.size group of properties

- logd Add persist.logd.size (global), persist.logd.size.<logid>
- logcat report a more flexible multiplier in -g command.

Bug: 14563261
Bug: 14469172
Change-Id: Ie389caa14ad3ae3d4a3a3cc463425bb9dbc5e483
/system/core/logcat/logcat.cpp
5045f575252ce3d25304ba26cec299395c02152c 30-Apr-2014 Mark Salyzyn <salyzyn@google.com> liblog: logcat: Move library print test into gTest

Change-Id: Icd33808d4c974625f4fd0a126a90a2b4c90c8315
/system/core/logcat/logcat.cpp
b149e245c8ccd90b52227f3d07ab572080afac53 30-Apr-2014 Mark Salyzyn <salyzyn@google.com> logcat: turn on -Werror

- Deal with some -Wunused issues

Change-Id: Ic4ab9a49f13e156a73d40266e413dee3e6396178
/system/core/logcat/logcat.cpp
99f47a9e7c4374f2bbfc18e4a97aa7848245ea33 07-Apr-2014 Mark Salyzyn <salyzyn@google.com> logd: liblog: logcat: debuggerd: Add LOG_ID_CRASH

Change-Id: Iea453764a1a4fc1661f461f10c641c30150e4d20
/system/core/logcat/logcat.cpp
bbbe14f758d7b9f147daf82a59b317b087631c01 11-Apr-2014 Mark Salyzyn <salyzyn@google.com> logcat: Better help message for white and black list

Change-Id: Ia739260b4e0fcf8062ad9166fd65b1d6e7bb446c
/system/core/logcat/logcat.cpp
1c950479393d42d18829d4009dbdb3a7f03acbb7 02-Apr-2014 Mark Salyzyn <salyzyn@google.com> logd: liblog: logcat: enable prune features for user

- Enable whitelist, blacklist and logsize tuneables for user

Change-Id: Id0c283844c71c5263a8cfbebf2e550f7ac415858
/system/core/logcat/logcat.cpp
22e287df0dfbc6e10c02f570d2fc0c42a2a6b7aa 21-Mar-2014 Mark Salyzyn <salyzyn@google.com> logcat: white and blacklist failure

- logcat improperly squashes out count
- logcat test enhanced to catch failure
- logd places entries in ascending sorted order

Change-Id: If39d8e2c40852b520c98e7840034ab63c2538e5d
/system/core/logcat/logcat.cpp
fff04e3014f3ba516544be4ed345ddcf8ddac7fb 17-Mar-2014 Mark Salyzyn <salyzyn@google.com> logcat: improve error messages

Bug: 13464830
Change-Id: Ia8783fa2422e444bcdfca8d0153cf6e7634612bb
/system/core/logcat/logcat.cpp
fa3716b2501ccddc8e0cd30f6343692b8deb7639 15-Feb-2014 Mark Salyzyn <salyzyn@google.com> logd: liblog: logcat: Arbitrary time to tail

Change-Id: I10e8d92c933e31ee11e78d2d1114261a30c4be0e
/system/core/logcat/logcat.cpp
dfa7a07f5be656cfafdb4e75916bc9dcd9e592e7 11-Feb-2014 Mark Salyzyn <salyzyn@google.com> 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 18a5432158ad43b8faefe4950b30e760200ce0b4)

Change-Id: I1572338c1b34bd968ad7867857ef708156ec3b6a
/system/core/logcat/logcat.cpp
34facab86b0fe7ec613de92b46b637f864fb0682 06-Feb-2014 Mark Salyzyn <salyzyn@google.com> 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 51a29c8dc445e4fb89860561933e54a231e6ffb4)

Change-Id: I521753b1969ecd4590c956aeeb1557d101059d67
/system/core/logcat/logcat.cpp
5d3d1f17dbcb01aedd510b5435ebdaf1d6afc138 09-Dec-2013 Mark Salyzyn <salyzyn@google.com> logcat: Add -T flag (-t w/o assumption of -d)

(cherry picked from commit de02546e3d7c9c307e3d87e0a7fe8bb39b363a72)

Change-Id: I49763e2db83755e0b7b12dfa3f83a3957c54d389
/system/core/logcat/logcat.cpp
65772ca7d7b61b111e75fb0f66f43966f0794bbd 13-Dec-2013 Mark Salyzyn <salyzyn@google.com> logcat: Add logcat test suite

(cherry picked from commit 2807db9a269baaa7b3f67c337d3312877ba90aa0)

Change-Id: Ic4c84b88b8d899965c9765bdc3ee223ef73ba7d1
/system/core/logcat/logcat.cpp
95132e97e57b055c5103619ce2487d07f30e63db 22-Nov-2013 Mark Salyzyn <salyzyn@google.com> logcat: Incorporate liblog reading API

(cherry picked from commit a1062c728a04e0de6e86a138d98eaff12f14fb41)

Change-Id: I1e1a55d13ac55350e8d54bfe92b392de07f26a5d
/system/core/logcat/logcat.cpp
ccecf1425412beb2bc3bb38d470293fdc244d6f1 16-Jan-2014 Elliott Hughes <enh@google.com> system/core 64-bit cleanup.

This cleans up most of the size-related problems in system/core.
There are still a few changes needed for a clean 64-bit build,
but they look like they might require changes to things like the
fastboot protocol.

Change-Id: I1560425a289fa158e13e2e3173cc3e71976f92c0
/system/core/logcat/logcat.cpp
9227bd385504ace739d4451a6c5dc3d777b5bf21 24-Jul-2013 Colin Cross <ccross@android.com> 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
/system/core/logcat/logcat.cpp
80b221cb22f37446e76829d2dd0e8953a32f3bda 13-Aug-2012 Edwin Vane <edwin.vane@intel.com> Fixed an unused param warning in logcat

Changed a function to actually use its parameter instead of a global
variable. All callers of the function pass the global variable as an
argument anyway so behaviour is unchanged.

Change-Id: Ib84d45c17d2213c4d441bf2f423feca14e7aa2f4
Author: Edwin Vane <edwin.vane@intel.com>
Reviewed-by: Ariel J Bernal <ariel.j.bernal@intel.com>
/system/core/logcat/logcat.cpp
274c31ab6b646b52dfe0f69a9e30077795065d0a 23-Feb-2012 Nick Kralevich <nnk@google.com> fix "logcat -c ; logcat -d" hang.

Change-Id: I1dc3633fc7228a6ff8ed0da4572f40055a28ceb2
/system/core/logcat/logcat.cpp
46070505e771fb539748936dd6ac68aa77b9f422 17-Oct-2011 Nick Kralevich <nnk@google.com> logcat: add sanity check

Sanity check that the length we get back from the kernel matches
how much data we actually received.

Change-Id: I5cfd80321ab41459bb514dfde2da57413a7bd9e6
/system/core/logcat/logcat.cpp
4bf3c02e026077d14a4512c7c2f71937da3c2d50 01-Oct-2011 Kenny Root <kroot@google.com> Add checking for log entry format

The log tag may be zero length if corrupted, so check for this
condition.

Change-Id: I7616226dabe78a85859b0ab53aca08f734dbdd84
/system/core/logcat/logcat.cpp
ba9608ff633724ded86aab7a9a401c87c7faafa1 18-Jun-2010 Wink Saville <wink@google.com> Update the help text to reflect new capabilities of -b parameter.

The -b parameter now support specifying multiple ring buffers
and the results are interleaved. In addition a new ring buffer
has been created, 'system', and the default is now -b main -b system.

Change-Id: Ibc25a31fb8fe21d75dda4598a83cf3426f759eb1
/system/core/logcat/logcat.cpp
50844525a31fa41d7d432efb3c0355b38adb2f5f 18-Mar-2010 Mathias Agopian <mathias@google.com> fix [2483384] logcat crash when malloc debug is enabled

fix a couple of uninitialized variables

Change-Id: I1f7552ecb20d85dbf0fec5cae9778a70ff9281a2
/system/core/logcat/logcat.cpp
d1d3b6dbedd720349aef3e93c4f61a43ffe5ada3 12-Mar-2010 Dan Egnor <egnor@google.com> Add '-t N' flag to logcat, to print only the last N lines of logcat
(to be used in capturing a merged mini logcat for crash reports)

Change-Id: I68149eb80f2f79812f43b07d80fbea822476859e
/system/core/logcat/logcat.cpp
e2bf2ea4d2846031edfc52b942ad53e5467243f6 01-Mar-2010 Joe Onorato <joeo@android.com> Make logcat print both the main and system buffers by default. Make SLOGx macros work.
/system/core/logcat/logcat.cpp
6fa09a066d6b6898a394a3ccf6c32111665cdbcb 26-Feb-2010 Joe Onorato <joeo@android.com> Allow logcat to take multiple -b options, and interleave the results.
/system/core/logcat/logcat.cpp
dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/system/core/logcat/logcat.cpp
e54eebbf1a908d65ee8cf80bab62821c05666d70 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/system/core/logcat/logcat.cpp
1b8e5a6b14ca850920e19b3dfae41e6494475c1a 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
/system/core/logcat/logcat.cpp
4f6e8d7a00cbeda1e70cc15be9c4af1018bdad53 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/system/core/logcat/logcat.cpp