diff options
-rw-r--r-- | chrome/browser/chromeos/chrome_browser_main_chromeos.cc | 4 | ||||
-rw-r--r-- | chromeos/network/network_event_log.cc | 28 | ||||
-rw-r--r-- | chromeos/network/network_state_handler.cc | 3 |
3 files changed, 20 insertions, 15 deletions
diff --git a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc index ade5697..d118334 100644 --- a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc +++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc @@ -286,10 +286,10 @@ class DBusServices { // longer required. (Switch is set in about_flags.cc and not applied until // after DBusServices() is called). void InitializeNetworkHandlers() { + chromeos::network_event_log::Initialize(); if (!CommandLine::ForCurrentProcess()->HasSwitch( chromeos::switches::kEnableNewNetworkHandlers)) return; - chromeos::network_event_log::Initialize(); chromeos::NetworkStateHandler::Initialize(); chromeos::NetworkConfigurationHandler::Initialize(); network_handlers_initialized_ = true; @@ -308,10 +308,10 @@ class DBusServices { if (cros_initialized_ && CrosLibrary::Get()) CrosLibrary::Shutdown(); + chromeos::network_event_log::Shutdown(); if (network_handlers_initialized_) { chromeos::NetworkStateHandler::Shutdown(); chromeos::NetworkConfigurationHandler::Shutdown(); - chromeos::network_event_log::Shutdown(); } cryptohome::AsyncMethodCaller::Shutdown(); diff --git a/chromeos/network/network_event_log.cc b/chromeos/network/network_event_log.cc index 3ed5144..84d6079 100644 --- a/chromeos/network/network_event_log.cc +++ b/chromeos/network/network_event_log.cc @@ -23,6 +23,8 @@ struct LogEntry { std::string ToString() const; + bool ContentEquals(const LogEntry& other) const; + std::string module; std::string event; std::string description; @@ -52,6 +54,12 @@ std::string LogEntry::ToString() const { return line; } +bool LogEntry::ContentEquals(const LogEntry& other) const { + return module == other.module && + event == other.event && + description == other.description; +} + typedef std::deque<LogEntry> LogEntryList; class NetworkEventLog { @@ -59,9 +67,7 @@ class NetworkEventLog { NetworkEventLog() {} ~NetworkEventLog() {} - void AddEntry(const std::string& module, - const std::string& event, - const std::string& description); + void AddEntry(const LogEntry& entry); std::string GetAsString(StringOrder order, size_t max_events); @@ -72,14 +78,10 @@ class NetworkEventLog { DISALLOW_COPY_AND_ASSIGN(NetworkEventLog); }; -void NetworkEventLog::AddEntry(const std::string& module, - const std::string& event, - const std::string& description) { +void NetworkEventLog::AddEntry(const LogEntry& entry) { if (!entries_.empty()) { LogEntry& last = entries_.back(); - if (last.module == module && - last.event == event && - last.description == description) { + if (last.ContentEquals(entry)) { // Update count and time for identical events to avoid log spam. ++last.count; last.time = base::Time::Now(); @@ -88,7 +90,6 @@ void NetworkEventLog::AddEntry(const std::string& module, } if (entries_.size() >= kMaxNetworkEventLogEntries) entries_.pop_front(); - LogEntry entry(module, event, description); entries_.push_back(entry); VLOG(2) << entry.ToString(); } @@ -143,9 +144,12 @@ bool IsInitialized() { void AddEntry(const std::string& module, const std::string& event, const std::string& description) { - if (!g_network_event_log) + LogEntry entry(module, event, description); + if (!g_network_event_log) { + VLOG(2) << entry.ToString(); return; - g_network_event_log->AddEntry(module, event, description); + } + g_network_event_log->AddEntry(entry); } std::string GetAsString(StringOrder order, size_t max_events) { diff --git a/chromeos/network/network_state_handler.cc b/chromeos/network/network_state_handler.cc index 0fc7ec1..0698c3b 100644 --- a/chromeos/network/network_state_handler.cc +++ b/chromeos/network/network_state_handler.cc @@ -478,7 +478,8 @@ bool NetworkStateHandler::CheckDefaultNetworkChanged() { void NetworkStateHandler::OnDefaultNetworkChanged() { const NetworkState* default_network = DefaultNetwork(); network_event_log::AddEntry( - kLogModule, "DefaultNetworkChanged", default_network->path()); + kLogModule, "DefaultNetworkChanged", + default_network ? default_network->path() : "Null"); FOR_EACH_OBSERVER(NetworkStateHandlerObserver, observers_, DefaultNetworkChanged(default_network)); } |