Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/test/chromedriver/logging.h" | 5 #include "chrome/test/chromedriver/logging.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 #include <stdio.h> | 9 #include <stdio.h> |
| 10 | 10 |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 89 return session->driver_log.get(); | 89 return session->driver_log.get(); |
| 90 } | 90 } |
| 91 | 91 |
| 92 bool InternalIsVLogOn(int vlog_level) { | 92 bool InternalIsVLogOn(int vlog_level) { |
| 93 WebDriverLog* session_log = GetSessionLog(); | 93 WebDriverLog* session_log = GetSessionLog(); |
| 94 Log::Level session_level = session_log ? session_log->min_level() : Log::kOff; | 94 Log::Level session_level = session_log ? session_log->min_level() : Log::kOff; |
| 95 Log::Level level = g_log_level < session_level ? g_log_level : session_level; | 95 Log::Level level = g_log_level < session_level ? g_log_level : session_level; |
| 96 return GetLevelFromSeverity(vlog_level * -1) >= level; | 96 return GetLevelFromSeverity(vlog_level * -1) >= level; |
| 97 } | 97 } |
| 98 | 98 |
| 99 bool HandleLogMessage(int severity, | 99 class LogMessageHandler : logging::LogMessageHandler { |
| 100 const char* file, | 100 bool OnMessage(int severity, |
| 101 int line, | 101 const char* file, |
| 102 size_t message_start, | 102 int line, |
| 103 const std::string& str) { | 103 size_t message_start, |
| 104 const std::string& str) override; | |
| 105 }; | |
| 106 | |
| 107 bool LogMessageHandler::OnMessage(int severity, | |
| 108 const char* file, | |
| 109 int line, | |
| 110 size_t message_start, | |
| 111 const std::string& str) { | |
| 104 Log::Level level = GetLevelFromSeverity(severity); | 112 Log::Level level = GetLevelFromSeverity(severity); |
| 105 std::string message = str.substr(message_start); | 113 std::string message = str.substr(message_start); |
| 106 | 114 |
| 107 if (level >= g_log_level) { | 115 if (level >= g_log_level) { |
| 108 const char* level_name = LevelToName(level); | 116 const char* level_name = LevelToName(level); |
| 109 std::string entry = base::StringPrintf( | 117 std::string entry = base::StringPrintf( |
| 110 "[%.3lf][%s]: %s", | 118 "[%.3lf][%s]: %s", |
| 111 base::TimeDelta(base::TimeTicks::Now() - | 119 base::TimeDelta(base::TimeTicks::Now() - |
| 112 base::TimeTicks::FromInternalValue(g_start_time)) | 120 base::TimeTicks::FromInternalValue(g_start_time)) |
| 113 .InSecondsF(), | 121 .InSecondsF(), |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 230 g_log_level = Log::kAll; | 238 g_log_level = Log::kAll; |
| 231 | 239 |
| 232 // Turn on VLOG for chromedriver. This is parsed during logging::InitLogging. | 240 // Turn on VLOG for chromedriver. This is parsed during logging::InitLogging. |
| 233 cmd_line->AppendSwitchASCII("vmodule", "*/chrome/test/chromedriver/*=3"); | 241 cmd_line->AppendSwitchASCII("vmodule", "*/chrome/test/chromedriver/*=3"); |
| 234 | 242 |
| 235 logging::SetMinLogLevel(logging::LOG_WARNING); | 243 logging::SetMinLogLevel(logging::LOG_WARNING); |
| 236 logging::SetLogItems(false, // enable_process_id | 244 logging::SetLogItems(false, // enable_process_id |
| 237 false, // enable_thread_id | 245 false, // enable_thread_id |
| 238 false, // enable_timestamp | 246 false, // enable_timestamp |
| 239 false); // enable_tickcount | 247 false); // enable_tickcount |
| 240 logging::SetLogMessageHandler(&HandleLogMessage); | 248 auto* handler = new LogMessageHandler(); // Intentionally leak this instance. |
| 249 CHECK(handler); | |
|
brettw
2016/11/14 22:01:31
Normally we wouldn't bother asserting the malloc r
wychen
2016/11/18 21:14:00
Done.
| |
| 241 | 250 |
| 242 logging::LoggingSettings logging_settings; | 251 logging::LoggingSettings logging_settings; |
| 243 logging_settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG; | 252 logging_settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG; |
| 244 return logging::InitLogging(logging_settings); | 253 return logging::InitLogging(logging_settings); |
| 245 } | 254 } |
| 246 | 255 |
| 247 Status CreateLogs(const Capabilities& capabilities, | 256 Status CreateLogs(const Capabilities& capabilities, |
| 248 const Session* session, | 257 const Session* session, |
| 249 ScopedVector<WebDriverLog>* out_logs, | 258 ScopedVector<WebDriverLog>* out_logs, |
| 250 ScopedVector<DevToolsEventListener>* out_devtools_listeners, | 259 ScopedVector<DevToolsEventListener>* out_devtools_listeners, |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 291 logs.push_back(browser_log); | 300 logs.push_back(browser_log); |
| 292 // If the level is OFF, don't even bother listening for DevTools events. | 301 // If the level is OFF, don't even bother listening for DevTools events. |
| 293 if (browser_log_level != Log::kOff) | 302 if (browser_log_level != Log::kOff) |
| 294 devtools_listeners.push_back(new ConsoleLogger(browser_log)); | 303 devtools_listeners.push_back(new ConsoleLogger(browser_log)); |
| 295 | 304 |
| 296 out_logs->swap(logs); | 305 out_logs->swap(logs); |
| 297 out_devtools_listeners->swap(devtools_listeners); | 306 out_devtools_listeners->swap(devtools_listeners); |
| 298 out_command_listeners->swap(command_listeners); | 307 out_command_listeners->swap(command_listeners); |
| 299 return Status(kOk); | 308 return Status(kOk); |
| 300 } | 309 } |
| OLD | NEW |