diff options
author | cmasone@google.com <cmasone@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-04 01:00:01 +0000 |
---|---|---|
committer | cmasone@google.com <cmasone@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-04 01:00:01 +0000 |
commit | 30f547c74f572bd5cee6c552c0eee3c96a35cd4e (patch) | |
tree | 27de7fde958bccbe56feb26897104d597341c0f2 /chrome/browser/browser_main.cc | |
parent | 952bec23adeaecbd0a22b6970abc1340076f3b23 (diff) | |
download | chromium_src-30f547c74f572bd5cee6c552c0eee3c96a35cd4e.zip chromium_src-30f547c74f572bd5cee6c552c0eee3c96a35cd4e.tar.gz chromium_src-30f547c74f572bd5cee6c552c0eee3c96a35cd4e.tar.bz2 |
[ChromeOS] Keep logging inside the user's home dir, even after a browser crash
BUG=50866
TEST=Boot, log in, check that logging goes to /home/chronos/user/chrome_log. Crash the browser. After it comes back, verify that the browser process has created a new log file in /home/chronos/user and is writing to it.
Review URL: http://codereview.chromium.org/3063014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54854 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser_main.cc')
-rw-r--r-- | chrome/browser/browser_main.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/chrome/browser/browser_main.cc b/chrome/browser/browser_main.cc index 591d0f9..51ebf44 100644 --- a/chrome/browser/browser_main.cc +++ b/chrome/browser/browser_main.cc @@ -67,6 +67,7 @@ #include "chrome/common/env_vars.h" #include "chrome/common/json_pref_store.h" #include "chrome/common/jstemplate_builder.h" +#include "chrome/common/logging_chrome.h" #include "chrome/common/main_function_params.h" #include "chrome/common/net/net_resource_provider.h" #include "chrome/common/pref_names.h" @@ -1035,6 +1036,18 @@ int BrowserMain(const MainFunctionParams& parameters) { parsed_command_line.GetSwitchValueASCII(switches::kLoginUser); LOG(INFO) << "Relaunching browser for user: " << username; chromeos::UserManager::Get()->UserLoggedIn(username); + + // Redirect logs. + FilePath user_data_dir; + PathService::Get(chrome::DIR_USER_DATA, &user_data_dir); + ProfileManager* profile_manager = g_browser_process->profile_manager(); + // The default profile will have been changed because the ProfileManager + // will process the notification that the UserManager sends out. + + logging::RedirectChromeLogging( + user_data_dir.Append(profile_manager->GetCurrentProfileDir()), + *(CommandLine::ForCurrentProcess()), + logging::DELETE_OLD_LOG_FILE); } #endif |