Browse Source

linux: Put "uploads.log" under "/tmp/ProductName Crashes/"

Cheng Zhao 10 years ago
parent
commit
02bcdc1c19

+ 5 - 0
atom/common/crash_reporter/crash_reporter_linux.cc

@@ -17,6 +17,7 @@
 #include "base/logging.h"
 #include "base/process/memory.h"
 #include "base/memory/singleton.h"
+#include "base/strings/stringprintf.h"
 #include "vendor/breakpad/src/client/linux/handler/exception_handler.h"
 #include "vendor/breakpad/src/common/linux/linux_libc_support.h"
 
@@ -81,6 +82,10 @@ void CrashReporterLinux::EnableCrashDumping(const std::string& product_name) {
   base::FilePath dumps_path(dump_dir);
   base::CreateDirectory(dumps_path);
 
+  std::string log_file = base::StringPrintf(
+      "%s/%s", dump_dir.c_str(), "uploads.log");
+  strncpy(g_crash_log_path, log_file.c_str(), sizeof(g_crash_log_path));
+
   MinidumpDescriptor minidump_descriptor(dumps_path.value());
   minidump_descriptor.set_size_limit(kMaxMinidumpFileSize);
 

+ 3 - 1
atom/common/crash_reporter/linux/crash_dump_handler.cc

@@ -441,7 +441,7 @@ void HandleCrashReportId(const char* buf, size_t bytes_read,
     my_uint64tos(time_str, time, time_len);
 
     const int kLogOpenFlags = O_CREAT | O_WRONLY | O_APPEND | O_CLOEXEC;
-    int log_fd = sys_open("/tmp/uploads.log", kLogOpenFlags, 0600);
+    int log_fd = sys_open(g_crash_log_path, kLogOpenFlags, 0600);
     if (log_fd > 0) {
       sys_write(log_fd, time_str, time_len);
       sys_write(log_fd, ",", 1);
@@ -454,6 +454,8 @@ void HandleCrashReportId(const char* buf, size_t bytes_read,
 
 }  // namespace
 
+char g_crash_log_path[256];
+
 void HandleCrashDump(const BreakpadInfo& info) {
   int dumpfd;
   bool keep_fd = false;

+ 3 - 0
atom/common/crash_reporter/linux/crash_dump_handler.h

@@ -34,6 +34,9 @@ void HandleCrashDump(const BreakpadInfo& info);
 size_t WriteLog(const char* buf, size_t nbytes);
 size_t WriteNewline();
 
+// Global variable storing the path of upload log.
+extern char g_crash_log_path[256];
+
 }  // namespace crash_reporter
 
 #endif  // ATOM_COMMON_CRASH_REPORTER_LINUX_CRASH_DUMP_HANDLER_H_