diff options
author | Tomasz Wasilczyk <twasilczyk@google.com> | 2017-12-18 06:30:17 -0800 |
---|---|---|
committer | Tomasz Wasilczyk <twasilczyk@google.com> | 2017-12-20 10:59:46 -0800 |
commit | c2516001021265aa0be719f02487117702ec3e71 (patch) | |
tree | 7ef02d77813fb1a934f9c133ca1dd467734a8a20 /base/logging.cpp | |
parent | 3459e5823e74777ea1d841c72bb5730170629213 (diff) | |
download | system_core-c2516001021265aa0be719f02487117702ec3e71.tar.gz system_core-c2516001021265aa0be719f02487117702ec3e71.tar.bz2 system_core-c2516001021265aa0be719f02487117702ec3e71.zip |
Use LOG_TAG instead of binary name as a tag.
If LOG_TAG was not defined, falling back to a default
behaviour (using binary name).
Bug: 35361699
Test: manual
Change-Id: I209a6ebaf0df882f98642f6d1831766cb296c951
Diffstat (limited to 'base/logging.cpp')
-rw-r--r-- | base/logging.cpp | 49 |
1 files changed, 30 insertions, 19 deletions
diff --git a/base/logging.cpp b/base/logging.cpp index 75078e50e..0f2012a09 100644 --- a/base/logging.cpp +++ b/base/logging.cpp @@ -187,8 +187,8 @@ void KernelLogger(android::base::LogId, android::base::LogSeverity severity, } #endif -void StderrLogger(LogId, LogSeverity severity, const char*, const char* file, - unsigned int line, const char* message) { +void StderrLogger(LogId, LogSeverity severity, const char* tag, const char* file, unsigned int line, + const char* message) { struct tm now; time_t t = time(nullptr); @@ -205,8 +205,8 @@ void StderrLogger(LogId, LogSeverity severity, const char*, const char* file, static_assert(arraysize(log_characters) - 1 == FATAL + 1, "Mismatch in size of log_characters and values in LogSeverity"); char severity_char = log_characters[severity]; - fprintf(stderr, "%s %c %s %5d %5d %s:%u] %s\n", ProgramInvocationName().c_str(), - severity_char, timestamp, getpid(), GetThreadId(), file, line, message); + fprintf(stderr, "%s %c %s %5d %5d %s:%u] %s\n", tag ? tag : "nullptr", severity_char, timestamp, + getpid(), GetThreadId(), file, line, message); } void DefaultAborter(const char* abort_message) { @@ -344,14 +344,14 @@ static const char* GetFileBasename(const char* file) { // checks/logging in a function. class LogMessageData { public: - LogMessageData(const char* file, unsigned int line, LogId id, - LogSeverity severity, int error) + LogMessageData(const char* file, unsigned int line, LogId id, LogSeverity severity, + const char* tag, int error) : file_(GetFileBasename(file)), line_number_(line), id_(id), severity_(severity), - error_(error) { - } + tag_(tag), + error_(error) {} const char* GetFile() const { return file_; @@ -365,6 +365,8 @@ class LogMessageData { return severity_; } + const char* GetTag() const { return tag_; } + LogId GetId() const { return id_; } @@ -387,15 +389,19 @@ class LogMessageData { const unsigned int line_number_; const LogId id_; const LogSeverity severity_; + const char* const tag_; const int error_; DISALLOW_COPY_AND_ASSIGN(LogMessageData); }; -LogMessage::LogMessage(const char* file, unsigned int line, LogId id, - LogSeverity severity, int error) - : data_(new LogMessageData(file, line, id, severity, error)) { -} +LogMessage::LogMessage(const char* file, unsigned int line, LogId id, LogSeverity severity, + const char* tag, int error) + : data_(new LogMessageData(file, line, id, severity, tag, error)) {} + +LogMessage::LogMessage(const char* file, unsigned int line, LogId id, LogSeverity severity, + int error) + : LogMessage(file, line, id, severity, nullptr, error) {} LogMessage::~LogMessage() { // Check severity again. This is duplicate work wrt/ LOG macros, but not LOG_STREAM. @@ -413,16 +419,16 @@ LogMessage::~LogMessage() { // Do the actual logging with the lock held. std::lock_guard<std::mutex> lock(LoggingLock()); if (msg.find('\n') == std::string::npos) { - LogLine(data_->GetFile(), data_->GetLineNumber(), data_->GetId(), - data_->GetSeverity(), msg.c_str()); + LogLine(data_->GetFile(), data_->GetLineNumber(), data_->GetId(), data_->GetSeverity(), + data_->GetTag(), msg.c_str()); } else { msg += '\n'; size_t i = 0; while (i < msg.size()) { size_t nl = msg.find('\n', i); msg[nl] = '\0'; - LogLine(data_->GetFile(), data_->GetLineNumber(), data_->GetId(), - data_->GetSeverity(), &msg[i]); + LogLine(data_->GetFile(), data_->GetLineNumber(), data_->GetId(), data_->GetSeverity(), + data_->GetTag(), &msg[i]); // Undo the zero-termination so we can give the complete message to the aborter. msg[nl] = '\n'; i = nl + 1; @@ -440,12 +446,17 @@ std::ostream& LogMessage::stream() { return data_->GetBuffer(); } -void LogMessage::LogLine(const char* file, unsigned int line, LogId id, - LogSeverity severity, const char* message) { - const char* tag = ProgramInvocationName().c_str(); +void LogMessage::LogLine(const char* file, unsigned int line, LogId id, LogSeverity severity, + const char* tag, const char* message) { + if (tag == nullptr) tag = ProgramInvocationName().c_str(); Logger()(id, severity, tag, file, line, message); } +void LogMessage::LogLine(const char* file, unsigned int line, LogId id, LogSeverity severity, + const char* message) { + LogLine(file, line, id, severity, nullptr, message); +} + LogSeverity GetMinimumLogSeverity() { return gMinimumLogSeverity; } |