Merge "adb: don't spew to logcat when tracing is enabled."

This commit is contained in:
Treehugger Robot 2018-02-07 05:57:46 +00:00 committed by Gerrit Code Review
commit 28c44863f6
2 changed files with 14 additions and 6 deletions

View File

@ -42,7 +42,11 @@ void AdbLogger(android::base::LogId id, android::base::LogSeverity severity,
const char* message) {
android::base::StderrLogger(id, severity, tag, file, line, message);
#if !ADB_HOST
gLogdLogger(id, severity, tag, file, line, message);
// Only print logs of INFO or higher to logcat, so that `adb logcat` with adbd tracing on
// doesn't result in exponential logging.
if (severity >= android::base::INFO) {
gLogdLogger(id, severity, tag, file, line, message);
}
#endif
}
@ -137,11 +141,15 @@ static void setup_trace_mask() {
// -1 is used for the special values "1" and "all" that enable all
// tracing.
adb_trace_mask = ~0;
return;
break;
} else {
adb_trace_mask |= 1 << flag->second;
}
}
if (adb_trace_mask != 0) {
android::base::SetMinimumLogSeverity(android::base::VERBOSE);
}
}
void adb_trace_init(char** argv) {

View File

@ -43,11 +43,11 @@ enum AdbTrace {
#define VLOG_IS_ON(TAG) \
((adb_trace_mask & (1 << (TAG))) != 0)
#define VLOG(TAG) \
#define VLOG(TAG) \
if (LIKELY(!VLOG_IS_ON(TAG))) \
; \
else \
LOG(INFO)
; \
else \
LOG(DEBUG)
// You must define TRACE_TAG before using this macro.
#define D(...) \