Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1903)

Unified Diff: chrome/test/chromedriver/chrome/log.cc

Issue 23566018: [chromedriver] Remove Logger and just use base LOG. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/test/chromedriver/chrome/log.cc
diff --git a/chrome/test/chromedriver/chrome/log.cc b/chrome/test/chromedriver/chrome/log.cc
index d272a55333cbc88c99bec19095eccb27b53b487a..9ca52d37eb08f73615d15679b8223adcd714e9f0 100644
--- a/chrome/test/chromedriver/chrome/log.cc
+++ b/chrome/test/chromedriver/chrome/log.cc
@@ -4,16 +4,18 @@
#include "chrome/test/chromedriver/chrome/log.h"
-#include <stdio.h>
-
-#include "base/json/json_reader.h"
#include "base/json/json_writer.h"
#include "base/strings/string_util.h"
-#include "base/strings/stringprintf.h"
#include "base/values.h"
+void Log::AddEntry(Level level, const std::string& message) {
+ AddEntryTimestamped(base::Time::Now(), level, message);
+}
+
namespace {
+IsVLogOnFunc g_is_vlog_on_func = NULL;
+
// Truncates the given string to 200 characters, adding an ellipsis if
// truncation was necessary.
void TruncateString(std::string* data) {
@@ -24,8 +26,19 @@ void TruncateString(std::string* data) {
}
}
-// Truncates all strings contained in the given value.
-void TruncateContainedStrings(base::Value* value) {
+} // namespace
+
+void InitLogging(IsVLogOnFunc is_vlog_on_func) {
+ g_is_vlog_on_func = is_vlog_on_func;
+}
+
+bool IsVLogOn(int vlog_level) {
+ if (!g_is_vlog_on_func)
+ return false;
+ return g_is_vlog_on_func(vlog_level);
+}
+
+base::Value* TruncateContainedStrings(base::Value* value) {
base::ListValue* list = NULL;
base::DictionaryValue* dict = NULL;
if (value->GetAsDictionary(&dict)) {
@@ -55,80 +68,23 @@ void TruncateContainedStrings(base::Value* value) {
}
}
}
+ return value;
}
-std::string ConvertForDisplayInternal(const std::string& input) {
- size_t left = input.find("{");
- size_t right = input.rfind("}");
- if (left == std::string::npos || right == std::string::npos)
- return input.substr(0, 10 << 10);
-
- scoped_ptr<base::Value> value(
- base::JSONReader::Read(input.substr(left, right - left + 1)));
- if (!value)
- return input.substr(0, 10 << 10);
- TruncateContainedStrings(value.get());
+std::string SerializeValue(const base::Value* value) {
std::string json;
- base::JSONWriter::WriteWithOptions(
- value.get(), base::JSONWriter::OPTIONS_PRETTY_PRINT, &json);
- std::string display = input.substr(0, left) + json;
- if (input.length() > right)
- display += input.substr(right + 1);
- return display;
+ base::JSONWriter::Write(value, &json);
+ return json;
}
-// Pretty prints encapsulated JSON and truncates long strings for display.
-std::string ConvertForDisplay(const std::string& input) {
- std::string display = ConvertForDisplayInternal(input);
- char remove_chars[] = {'\r', '\0'};
- RemoveChars(display, remove_chars, &display);
- return display;
-}
-
-} // namespace
-
-void Log::AddEntry(Level level, const std::string& message) {
- AddEntryTimestamped(base::Time::Now(), level, message);
-}
-
-Logger::Logger() : min_log_level_(kLog), start_(base::Time::Now()) {}
-
-Logger::Logger(Level min_log_level)
- : min_log_level_(min_log_level), start_(base::Time::Now()) {}
-
-Logger::~Logger() {}
-
-void Logger::AddEntryTimestamped(const base::Time& timestamp,
- Level level,
- const std::string& message) {
- if (level < min_log_level_)
- return;
-
- const char* level_name = "UNKNOWN";
- switch (level) {
- case kDebug:
- level_name = "DEBUG";
- break;
- case kLog:
- level_name = "INFO";
- break;
- case kWarning:
- level_name = "WARNING";
- break;
- case kError:
- level_name = "ERROR";
- break;
- default:
- break;
- }
- std::string entry =
- base::StringPrintf("[%.3lf][%s]: %s",
- base::TimeDelta(timestamp - start_).InSecondsF(),
- level_name,
- ConvertForDisplay(message).c_str());
- const char* format = "%s\n";
- if (entry[entry.length() - 1] == '\n')
- format = "%s";
- fprintf(stderr, format, entry.c_str());
- fflush(stderr);
+std::string PrettyPrintValue(const base::Value* value) {
+ std::string json;
+ base::JSONWriter::WriteWithOptions(
+ value, base::JSONWriter::OPTIONS_PRETTY_PRINT, &json);
+#if defined(OS_WIN)
+ RemoveChars(json, "\r", &json);
+#endif
+ if (json.length())
+ json.resize(json.length() - 1);
chrisgao (Use stgao instead) 2013/09/05 01:20:46 Why remove the last character?
kkania 2013/09/05 15:15:11 it's a newline that we don't want, added comment
+ return json;
}

Powered by Google App Engine
This is Rietveld 408576698