summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/chromeos/chrome_browser_main_chromeos.cc4
-rw-r--r--chromeos/network/network_event_log.cc28
-rw-r--r--chromeos/network/network_state_handler.cc3
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));
}