Loading logd/LogWhiteBlackList.cpp +37 −4 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include <ctype.h> #include <base/stringprintf.h> #include <cutils/properties.h> #include "LogWhiteBlackList.h" Loading Loading @@ -49,7 +50,8 @@ std::string Prune::format() { return std::string("/"); } PruneList::PruneList() : mWorstUidEnabled(true) { PruneList::PruneList() { init(NULL); } PruneList::~PruneList() { Loading @@ -72,13 +74,44 @@ int PruneList::init(const char *str) { it = mNaughty.erase(it); } if (!str) { return 0; static const char _default[] = "default"; // default here means take ro.logd.filter, persist.logd.filter then // internal default in that order. if (str && !strcmp(str, _default)) { str = NULL; } static const char _disable[] = "disable"; if (str && !strcmp(str, _disable)) { str = ""; } std::string filter; if (str) { filter = str; } else { char property[PROPERTY_VALUE_MAX]; property_get("ro.logd.filter", property, _default); filter = property; property_get("persist.logd.filter", property, filter.c_str()); // default here means take ro.logd.filter if (strcmp(property, _default)) { filter = property; } } // default here means take internal default. if (filter == _default) { // See README.property for description of filter format filter = "~!"; } if (filter == _disable) { filter = ""; } mWorstUidEnabled = false; for(; *str; ++str) { for(str = filter.c_str(); *str; ++str) { if (isspace(*str)) { continue; } Loading logd/README.property +14 −6 Original line number Diff line number Diff line Loading @@ -12,16 +12,24 @@ ro.build.type string if user, logd.statistics & logd.klogd default false persist.logd.logpersistd string Enable logpersist daemon, "logcatd" turns on logcat -f in logd context persist.logd.size number 256K default size of the buffer for all log ids at initial startup, at runtime use: logcat -b all -G <value> persist.logd.size number 256K Global default size of the buffer for all log ids at initial startup, at runtime use: logcat -b all -G <value> persist.logd.size.main number 256K Size of the buffer for the main log persist.logd.size.system number 256K Size of the buffer for the system log persist.logd.size.radio number 256K Size of the buffer for the radio log persist.logd.size.event number 256K Size of the buffer for the event log persist.logd.size.crash number 256K Size of the buffer for the crash log persist.logd.filter string Pruning filter to optimize content, default is ro.logd.filter or "~!" which means to prune the oldest entries of chattiest UID. At runtime use: logcat -P "<string>" NB: - number support multipliers (K or M) for convenience. Range is limited to between 64K and 256M for log buffer sizes. Individual logs override the global default. - Number support multipliers (K or M) for convenience. Range is limited to between 64K and 256M for log buffer sizes. Individual log buffer ids such as main, system, ... override global default. - Pruning filter is of form of a space-separated list of [~][UID][/PID] references, where '~' prefix means to blacklist otherwise whitelist. For blacklisting, UID may be a '!' to instead reference the chattiest client. logd/main.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -212,6 +212,7 @@ static void *reinit_thread_start(void * /*obj*/) { // Anything that reads persist.<property> if (logBuf) { logBuf->init(); logBuf->initPrune(NULL); } } Loading Loading
logd/LogWhiteBlackList.cpp +37 −4 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include <ctype.h> #include <base/stringprintf.h> #include <cutils/properties.h> #include "LogWhiteBlackList.h" Loading Loading @@ -49,7 +50,8 @@ std::string Prune::format() { return std::string("/"); } PruneList::PruneList() : mWorstUidEnabled(true) { PruneList::PruneList() { init(NULL); } PruneList::~PruneList() { Loading @@ -72,13 +74,44 @@ int PruneList::init(const char *str) { it = mNaughty.erase(it); } if (!str) { return 0; static const char _default[] = "default"; // default here means take ro.logd.filter, persist.logd.filter then // internal default in that order. if (str && !strcmp(str, _default)) { str = NULL; } static const char _disable[] = "disable"; if (str && !strcmp(str, _disable)) { str = ""; } std::string filter; if (str) { filter = str; } else { char property[PROPERTY_VALUE_MAX]; property_get("ro.logd.filter", property, _default); filter = property; property_get("persist.logd.filter", property, filter.c_str()); // default here means take ro.logd.filter if (strcmp(property, _default)) { filter = property; } } // default here means take internal default. if (filter == _default) { // See README.property for description of filter format filter = "~!"; } if (filter == _disable) { filter = ""; } mWorstUidEnabled = false; for(; *str; ++str) { for(str = filter.c_str(); *str; ++str) { if (isspace(*str)) { continue; } Loading
logd/README.property +14 −6 Original line number Diff line number Diff line Loading @@ -12,16 +12,24 @@ ro.build.type string if user, logd.statistics & logd.klogd default false persist.logd.logpersistd string Enable logpersist daemon, "logcatd" turns on logcat -f in logd context persist.logd.size number 256K default size of the buffer for all log ids at initial startup, at runtime use: logcat -b all -G <value> persist.logd.size number 256K Global default size of the buffer for all log ids at initial startup, at runtime use: logcat -b all -G <value> persist.logd.size.main number 256K Size of the buffer for the main log persist.logd.size.system number 256K Size of the buffer for the system log persist.logd.size.radio number 256K Size of the buffer for the radio log persist.logd.size.event number 256K Size of the buffer for the event log persist.logd.size.crash number 256K Size of the buffer for the crash log persist.logd.filter string Pruning filter to optimize content, default is ro.logd.filter or "~!" which means to prune the oldest entries of chattiest UID. At runtime use: logcat -P "<string>" NB: - number support multipliers (K or M) for convenience. Range is limited to between 64K and 256M for log buffer sizes. Individual logs override the global default. - Number support multipliers (K or M) for convenience. Range is limited to between 64K and 256M for log buffer sizes. Individual log buffer ids such as main, system, ... override global default. - Pruning filter is of form of a space-separated list of [~][UID][/PID] references, where '~' prefix means to blacklist otherwise whitelist. For blacklisting, UID may be a '!' to instead reference the chattiest client.
logd/main.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -212,6 +212,7 @@ static void *reinit_thread_start(void * /*obj*/) { // Anything that reads persist.<property> if (logBuf) { logBuf->init(); logBuf->initPrune(NULL); } } Loading