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

Side by Side Diff: third_party/libjingle/overrides/talk/base/logging.cc

Issue 218403004: Fix the timestamp generation for webrtc native log. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 8 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 unified diff | Download patch
« no previous file with comments | « third_party/libjingle/overrides/talk/base/logging.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "third_party/libjingle/overrides/talk/base/logging.h" 5 #include "third_party/libjingle/overrides/talk/base/logging.h"
6 6
7 #if defined(OS_MACOSX) && !defined(OS_IOS) 7 #if defined(OS_MACOSX) && !defined(OS_IOS)
8 #include <CoreServices/CoreServices.h> 8 #include <CoreServices/CoreServices.h>
9 #endif // OS_MACOSX 9 #endif // OS_MACOSX
10 10
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 int line, 125 int line,
126 LoggingSeverity severity, 126 LoggingSeverity severity,
127 bool log_to_chrome, 127 bool log_to_chrome,
128 LogErrorContext err_ctx, 128 LogErrorContext err_ctx,
129 int err) 129 int err)
130 : file_name_(file), 130 : file_name_(file),
131 line_(line), 131 line_(line),
132 severity_(severity), 132 severity_(severity),
133 log_to_chrome_(log_to_chrome) { 133 log_to_chrome_(log_to_chrome) {
134 extra_ = GenerateExtra(err_ctx, err, NULL); 134 extra_ = GenerateExtra(err_ctx, err, NULL);
135 CreateTimestamp();
136 } 135 }
137 136
138 DiagnosticLogMessage::DiagnosticLogMessage(const char* file, 137 DiagnosticLogMessage::DiagnosticLogMessage(const char* file,
139 int line, 138 int line,
140 LoggingSeverity severity, 139 LoggingSeverity severity,
141 bool log_to_chrome, 140 bool log_to_chrome,
142 LogErrorContext err_ctx, 141 LogErrorContext err_ctx,
143 int err, 142 int err,
144 const char* module) 143 const char* module)
145 : file_name_(file), 144 : file_name_(file),
146 line_(line), 145 line_(line),
147 severity_(severity), 146 severity_(severity),
148 log_to_chrome_(log_to_chrome) { 147 log_to_chrome_(log_to_chrome) {
149 extra_ = GenerateExtra(err_ctx, err, module); 148 extra_ = GenerateExtra(err_ctx, err, module);
150 CreateTimestamp();
151 } 149 }
152 150
153 DiagnosticLogMessage::~DiagnosticLogMessage() { 151 DiagnosticLogMessage::~DiagnosticLogMessage() {
154 print_stream_ << extra_; 152 print_stream_ << extra_;
155 const std::string& str = print_stream_.str(); 153 const std::string& str = print_stream_.str();
156 if (log_to_chrome_) 154 if (log_to_chrome_)
157 LOG_LAZY_STREAM_DIRECT(file_name_, line_, severity_) << str; 155 LOG_LAZY_STREAM_DIRECT(file_name_, line_, severity_) << str;
158 if (g_logging_delegate_function && severity_ <= LS_INFO) { 156 if (g_logging_delegate_function && severity_ <= LS_INFO) {
159 print_stream_with_timestamp_ << str; 157 g_logging_delegate_function(str);
160 g_logging_delegate_function(print_stream_with_timestamp_.str());
161 } 158 }
162 } 159 }
163 160
164 void DiagnosticLogMessage::CreateTimestamp() {
165 #if !defined(ANDROID)
166 static const uint32 g_logging_start_time = talk_base::Time();
167 uint32 time = talk_base::TimeSince(g_logging_start_time);
168 print_stream_with_timestamp_ << "[" << std::setfill('0')
169 << std::setw(3) << (time / 1000)
170 << ":" << std::setw(3) << (time % 1000)
171 << std::setfill(' ') << "] ";
172 #endif
173 }
174
175 // Note: this function is a copy from the overriden libjingle implementation. 161 // Note: this function is a copy from the overriden libjingle implementation.
176 void LogMultiline(LoggingSeverity level, const char* label, bool input, 162 void LogMultiline(LoggingSeverity level, const char* label, bool input,
177 const void* data, size_t len, bool hex_mode, 163 const void* data, size_t len, bool hex_mode,
178 LogMultilineState* state) { 164 LogMultilineState* state) {
179 if (!LOG_CHECK_LEVEL_V(level)) 165 if (!LOG_CHECK_LEVEL_V(level))
180 return; 166 return;
181 167
182 const char * direction = (input ? " << " : " >> "); 168 const char * direction = (input ? " << " : " >> ");
183 169
184 // NULL data means to flush our count of unprintable characters. 170 // NULL data means to flush our count of unprintable characters.
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
316 } 302 }
317 303
318 void SetExtraLoggingInit( 304 void SetExtraLoggingInit(
319 void (*function)(void (*delegate)(const std::string&))) { 305 void (*function)(void (*delegate)(const std::string&))) {
320 CHECK(function); 306 CHECK(function);
321 CHECK(!g_extra_logging_init_function); 307 CHECK(!g_extra_logging_init_function);
322 g_extra_logging_init_function = function; 308 g_extra_logging_init_function = function;
323 } 309 }
324 310
325 } // namespace talk_base 311 } // namespace talk_base
OLDNEW
« no previous file with comments | « third_party/libjingle/overrides/talk/base/logging.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698