| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 char buffer[16]; | 85 char buffer[16]; |
| 86 snprintf(buffer, sizeof(buffer), "0x%08x", err); | 86 snprintf(buffer, sizeof(buffer), "0x%08x", err); |
| 87 return buffer; | 87 return buffer; |
| 88 } | 88 } |
| 89 | 89 |
| 90 ///////////////////////////////////////////////////////////////////////////// | 90 ///////////////////////////////////////////////////////////////////////////// |
| 91 // LogMessage | 91 // LogMessage |
| 92 ///////////////////////////////////////////////////////////////////////////// | 92 ///////////////////////////////////////////////////////////////////////////// |
| 93 | 93 |
| 94 // By default, release builds don't log, debug builds at info level | 94 // By default, release builds don't log, debug builds at info level |
| 95 #if _DEBUG | 95 #if !defined(NDEBUG) |
| 96 LoggingSeverity LogMessage::min_sev_ = LS_INFO; | 96 LoggingSeverity LogMessage::min_sev_ = LS_INFO; |
| 97 LoggingSeverity LogMessage::dbg_sev_ = LS_INFO; | 97 LoggingSeverity LogMessage::dbg_sev_ = LS_INFO; |
| 98 #else // !_DEBUG | 98 #else |
| 99 LoggingSeverity LogMessage::min_sev_ = LS_NONE; | 99 LoggingSeverity LogMessage::min_sev_ = LS_NONE; |
| 100 LoggingSeverity LogMessage::dbg_sev_ = LS_NONE; | 100 LoggingSeverity LogMessage::dbg_sev_ = LS_NONE; |
| 101 #endif // !_DEBUG | 101 #endif |
| 102 bool LogMessage::log_to_stderr_ = true; | 102 bool LogMessage::log_to_stderr_ = true; |
| 103 | 103 |
| 104 namespace { | 104 namespace { |
| 105 // Global lock for log subsystem, only needed to serialize access to streams_. | 105 // Global lock for log subsystem, only needed to serialize access to streams_. |
| 106 CriticalSection g_log_crit; | 106 CriticalSection g_log_crit; |
| 107 } // namespace | 107 } // namespace |
| 108 | 108 |
| 109 // The list of logging streams currently configured. | 109 // The list of logging streams currently configured. |
| 110 // Note: we explicitly do not clean this up, because of the uncertain ordering | 110 // Note: we explicitly do not clean this up, because of the uncertain ordering |
| 111 // of destructors at program exit. Let the person who sets the stream trigger | 111 // of destructors at program exit. Let the person who sets the stream trigger |
| (...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 333 for (auto& kv : streams_) { | 333 for (auto& kv : streams_) { |
| 334 min_sev = std::min(dbg_sev_, kv.second); | 334 min_sev = std::min(dbg_sev_, kv.second); |
| 335 } | 335 } |
| 336 min_sev_ = min_sev; | 336 min_sev_ = min_sev; |
| 337 } | 337 } |
| 338 | 338 |
| 339 void LogMessage::OutputToDebug(const std::string& str, | 339 void LogMessage::OutputToDebug(const std::string& str, |
| 340 LoggingSeverity severity, | 340 LoggingSeverity severity, |
| 341 const std::string& tag) { | 341 const std::string& tag) { |
| 342 bool log_to_stderr = log_to_stderr_; | 342 bool log_to_stderr = log_to_stderr_; |
| 343 #if defined(WEBRTC_MAC) && !defined(WEBRTC_IOS) && (!defined(_DEBUG) || defined(
NDEBUG)) | 343 #if defined(WEBRTC_MAC) && !defined(WEBRTC_IOS) && defined(NDEBUG) |
| 344 // On the Mac, all stderr output goes to the Console log and causes clutter. | 344 // On the Mac, all stderr output goes to the Console log and causes clutter. |
| 345 // So in opt builds, don't log to stderr unless the user specifically sets | 345 // So in opt builds, don't log to stderr unless the user specifically sets |
| 346 // a preference to do so. | 346 // a preference to do so. |
| 347 CFStringRef key = CFStringCreateWithCString(kCFAllocatorDefault, | 347 CFStringRef key = CFStringCreateWithCString(kCFAllocatorDefault, |
| 348 "logToStdErr", | 348 "logToStdErr", |
| 349 kCFStringEncodingUTF8); | 349 kCFStringEncodingUTF8); |
| 350 CFStringRef domain = CFBundleGetIdentifier(CFBundleGetMainBundle()); | 350 CFStringRef domain = CFBundleGetIdentifier(CFBundleGetMainBundle()); |
| 351 if (key != NULL && domain != NULL) { | 351 if (key != NULL && domain != NULL) { |
| 352 Boolean exists_and_is_valid; | 352 Boolean exists_and_is_valid; |
| 353 Boolean should_log = | 353 Boolean should_log = |
| (...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 547 } | 547 } |
| 548 | 548 |
| 549 if (state) { | 549 if (state) { |
| 550 state->unprintable_count_[input] = consecutive_unprintable; | 550 state->unprintable_count_[input] = consecutive_unprintable; |
| 551 } | 551 } |
| 552 } | 552 } |
| 553 | 553 |
| 554 ////////////////////////////////////////////////////////////////////// | 554 ////////////////////////////////////////////////////////////////////// |
| 555 | 555 |
| 556 } // namespace rtc | 556 } // namespace rtc |
| OLD | NEW |