OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/net/chrome_net_log.h" | 5 #include "chrome/browser/net/chrome_net_log.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 ChromeNetLog::ChromeNetLog() | 60 ChromeNetLog::ChromeNetLog() |
61 : last_id_(0), | 61 : last_id_(0), |
62 log_level_(LOG_BASIC), | 62 log_level_(LOG_BASIC), |
63 passive_collector_(new PassiveLogCollector), | 63 passive_collector_(new PassiveLogCollector), |
64 load_timing_observer_(new LoadTimingObserver) { | 64 load_timing_observer_(new LoadTimingObserver) { |
65 AddObserver(passive_collector_.get()); | 65 AddObserver(passive_collector_.get()); |
66 AddObserver(load_timing_observer_.get()); | 66 AddObserver(load_timing_observer_.get()); |
67 | 67 |
68 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); | 68 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); |
69 if (command_line.HasSwitch(switches::kLogNetLog)) { | 69 if (command_line.HasSwitch(switches::kLogNetLog)) { |
70 net_log_logger_.reset(new NetLogLogger()); | 70 net_log_logger_.reset(new NetLogLogger( |
| 71 command_line.GetSwitchValuePath(switches::kLogNetLog))); |
71 AddObserver(net_log_logger_.get()); | 72 AddObserver(net_log_logger_.get()); |
72 } | 73 } |
73 } | 74 } |
74 | 75 |
75 ChromeNetLog::~ChromeNetLog() { | 76 ChromeNetLog::~ChromeNetLog() { |
76 RemoveObserver(passive_collector_.get()); | 77 RemoveObserver(passive_collector_.get()); |
77 RemoveObserver(load_timing_observer_.get()); | 78 RemoveObserver(load_timing_observer_.get()); |
78 if (net_log_logger_.get()) { | 79 if (net_log_logger_.get()) { |
79 RemoveObserver(net_log_logger_.get()); | 80 RemoveObserver(net_log_logger_.get()); |
80 } | 81 } |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 } | 145 } |
145 base::subtle::NoBarrier_Store(&log_level_, new_log_level); | 146 base::subtle::NoBarrier_Store(&log_level_, new_log_level); |
146 } | 147 } |
147 | 148 |
148 void ChromeNetLog::AddObserverWhileLockHeld(ThreadSafeObserver* observer) { | 149 void ChromeNetLog::AddObserverWhileLockHeld(ThreadSafeObserver* observer) { |
149 DCHECK(!observer->net_log_); | 150 DCHECK(!observer->net_log_); |
150 observer->net_log_ = this; | 151 observer->net_log_ = this; |
151 observers_.AddObserver(observer); | 152 observers_.AddObserver(observer); |
152 UpdateLogLevel_(); | 153 UpdateLogLevel_(); |
153 } | 154 } |
OLD | NEW |