Merge "logd: filter on __android_log_is_loggable"

This commit is contained in:
Mark Salyzyn 2015-06-15 14:38:06 +00:00 committed by Gerrit Code Review
commit c36c63c645
2 changed files with 23 additions and 1 deletions

View File

@ -140,8 +140,26 @@ int LogBuffer::log(log_id_t log_id, log_time realtime,
if ((log_id >= LOG_ID_MAX) || (log_id < 0)) {
return -EINVAL;
}
LogBufferElement *elem = new LogBufferElement(log_id, realtime,
uid, pid, tid, msg, len);
int prio = ANDROID_LOG_INFO;
const char *tag = NULL;
if (log_id == LOG_ID_EVENTS) {
tag = android::tagToName(elem->getTag());
} else {
prio = *msg;
tag = msg + 1;
}
if (!__android_log_is_loggable(prio, tag, ANDROID_LOG_VERBOSE)) {
// Log traffic received to total
pthread_mutex_lock(&mLogElementsLock);
stats.add(elem);
stats.subtract(elem);
pthread_mutex_unlock(&mLogElementsLock);
delete elem;
return -EACCES;
}
pthread_mutex_lock(&mLogElementsLock);

View File

@ -105,8 +105,12 @@ char *android::tidToName(pid_t tid) {
size_t LogBufferElement::populateDroppedMessage(char *&buffer,
LogBuffer *parent) {
static const char tag[] = "chatty";
static const char format_uid[] = "uid=%u%s%s expire %u line%s";
if (!__android_log_is_loggable(ANDROID_LOG_INFO, tag, ANDROID_LOG_VERBOSE)) {
return 0;
}
static const char format_uid[] = "uid=%u%s%s expire %u line%s";
char *name = parent->uidToName(mUid);
char *commName = android::tidToName(mTid);
if (!commName && (mTid != mPid)) {