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

Unified Diff: third_party/webrtc_overrides/webrtc/base/logging.h

Issue 1345873004: Add third_party/webrtc_overrides. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Corrected licence file path. Created 5 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: third_party/webrtc_overrides/webrtc/base/logging.h
diff --git a/third_party/webrtc_overrides/webrtc/base/logging.h b/third_party/webrtc_overrides/webrtc/base/logging.h
new file mode 100644
index 0000000000000000000000000000000000000000..2d858ecff5b615ca5eff9a61e8967bd029504309
--- /dev/null
+++ b/third_party/webrtc_overrides/webrtc/base/logging.h
@@ -0,0 +1,93 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// This file overrides the logging macros in WebRTC (webrtc/base/logging.h).
+// Instead of using WebRTC's logging implementation, the WebRTC macros are
+// mapped to DIAGNOSTIC_LOGING. In it's implementation (DiagnosticLogMessage in
+// third_party/webrtc_overrides/webrtc/base/logging.h), the corresponding
+// base/logging.h macros (e.g. Chromium's VLOG) are used.
+// If this file is included outside of WebRTC/libjingle it should be included
+// after base/logging.h (if any) or compiler error or unexpected behavior may
+// occur (macros that have the same name in WebRTC as in Chromium will use
+// the WebRTC definition if this file is included first).
+
+// Setting the LoggingSeverity (and lower) that should be written to file should
+// be done via command line by specifying the flags:
+// --vmodule or --v please see base/logging.h for details on how to use them.
+// Specifying what file to write to is done using InitLogging also in
+// base/logging.h.
+
+// The macros and classes declared in here are not described as they are
+// NOT TO BE USED outside of WebRTC/libjingle.
+
+#ifndef THIRD_PARTY_WEBRTC_OVERRIDES_WEBRTC_BASE_LOGGING_H_
+#define THIRD_PARTY_WEBRTC_OVERRIDES_WEBRTC_BASE_LOGGING_H_
+
+#include "third_party/webrtc_overrides/webrtc/base/diagnostic_logging.h"
+
+//////////////////////////////////////////////////////////////////////
+// WebRTC macros which in DiagnosticLogMessage are mapped over to
+// their VLOG equivalent in base/logging.h.
+//////////////////////////////////////////////////////////////////////
+
+#if defined(LOGGING_INSIDE_WEBRTC)
+
+namespace rtc {
+
+// Note that |N| is the size *with* the null terminator.
+bool CheckVlogIsOnHelper(LoggingSeverity severity,
+ const char* file, size_t N);
+
+template <size_t N>
+bool CheckVlogIsOn(LoggingSeverity severity, const char (&file)[N]) {
+ return CheckVlogIsOnHelper(severity, file, N);
+}
+
+} // namespace rtc
+
+#define DIAGNOSTIC_LOG(sev, ctx, err, ...) \
+ rtc::DiagnosticLogMessage( \
+ __FILE__, __LINE__, sev, rtc::ERRCTX_ ## ctx, err, ##__VA_ARGS__).stream()
+
+#define LOG_CHECK_LEVEL(sev) CheckVlogIsOn(rtc::sev, __FILE__)
+#define LOG_CHECK_LEVEL_V(sev) CheckVlogIsOn(sev, __FILE__)
+
+#define LOG_V(sev) DIAGNOSTIC_LOG(sev, NONE, 0)
+#undef LOG
+#define LOG(sev) DIAGNOSTIC_LOG(rtc::sev, NONE, 0)
+
+// The _F version prefixes the message with the current function name.
+#if defined(__GNUC__) && defined(_DEBUG)
+#define LOG_F(sev) LOG(sev) << __PRETTY_FUNCTION__ << ": "
+#else
+#define LOG_F(sev) LOG(sev) << __FUNCTION__ << ": "
+#endif
+
+#define LOG_E(sev, ctx, err, ...) \
+ DIAGNOSTIC_LOG(rtc::sev, ctx, err, ##__VA_ARGS__)
+
+#undef LOG_ERRNO_EX
+#define LOG_ERRNO_EX(sev, err) LOG_E(sev, ERRNO, err)
+#undef LOG_ERRNO
+#define LOG_ERRNO(sev) LOG_ERRNO_EX(sev, errno)
+
+#if defined(WEBRTC_WIN)
+#define LOG_GLE_EX(sev, err) LOG_E(sev, HRESULT, err)
+#define LOG_GLE(sev) LOG_GLE_EX(sev, GetLastError())
+#define LOG_GLEM(sev, mod) LOG_E(sev, HRESULT, GetLastError(), mod)
+#define LOG_ERR_EX(sev, err) LOG_GLE_EX(sev, err)
+#define LOG_ERR(sev) LOG_GLE(sev)
+#define LAST_SYSTEM_ERROR (::GetLastError())
+#else
+#define LOG_ERR_EX(sev, err) LOG_ERRNO_EX(sev, err)
+#define LOG_ERR(sev) LOG_ERRNO(sev)
+#define LAST_SYSTEM_ERROR (errno)
+#endif // OS_WIN
+
+#undef PLOG
+#define PLOG(sev, err) LOG_ERR_EX(sev, err)
+
+#endif // LOGGING_INSIDE_WEBRTC
+
+#endif // THIRD_PARTY_WEBRTC_OVERRIDES_WEBRTC_BASE_LOGGING_H_
« no previous file with comments | « third_party/webrtc_overrides/webrtc/base/diagnostic_logging.h ('k') | third_party/webrtc_overrides/webrtc/base/logging.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698