Include the filename and line number in FATAL logging.
Change-Id: I02b92b14619faf5a630b8bf1a6602d01c9525ff5
diff --git a/src/logging_android.cc b/src/logging_android.cc
index edfa42f..8ba61f1 100644
--- a/src/logging_android.cc
+++ b/src/logging_android.cc
@@ -31,11 +31,17 @@
LogMessage::LogMessage(const char* file, int line, LogSeverity severity, int error)
: data_(new LogMessageData(line, severity, error)) {
+ const char* last_slash = strrchr(file, '/');
+ data_->file = (last_slash == NULL) ? file : last_slash + 1;
}
-void LogMessage::LogLine(const char* line) {
+void LogMessage::LogLine(const char* message) {
int priority = kLogSeverityToAndroidLogPriority[data_->severity];
- LOG_PRI(priority, "art", "%s", line);
+ if (priority == ANDROID_LOG_FATAL) {
+ LOG_PRI(priority, "art", "%s:%d] %s", data_->file, data_->line_number, message);
+ } else {
+ LOG_PRI(priority, "art", "%s", message);
+ }
}
} // namespace art
diff --git a/src/logging_linux.cc b/src/logging_linux.cc
index f3a6cf3..e781a00 100644
--- a/src/logging_linux.cc
+++ b/src/logging_linux.cc
@@ -33,10 +33,10 @@
data_->file = (last_slash == NULL) ? file : last_slash + 1;
}
-void LogMessage::LogLine(const char* line) {
+void LogMessage::LogLine(const char* message) {
std::cerr << "VDIWEFF"[data_->severity] << ' '
<< StringPrintf("%5d %5d", getpid(), ::art::GetTid()) << ' '
- << data_->file << ':' << data_->line_number << "] " << line << std::endl;
+ << data_->file << ':' << data_->line_number << "] " << message << std::endl;
}
} // namespace art