Reland "Implement RTC_DLOG macro and use in a few places to test."

This is a reland of b18e868aa4375351cacd79efeb519b123878c39a
Original change's description:
> Implement RTC_DLOG macro and use in a few places to test.
> 
> Bug: webrtc:8529
> Change-Id: I31a5a4ec873088b1831dfa31a496467efff89cc1
> Reviewed-on: https://webrtc-review.googlesource.com/23041
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Tommi <tommi@webrtc.org>
> Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20690}

Bug: webrtc:8529
Change-Id: I68073870945f3085966e7a61fe6efa083eedd100
Reviewed-on: https://webrtc-review.googlesource.com/23361
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20725}
This commit is contained in:
Fredrik Solenberg
2017-11-17 09:49:40 +01:00
committed by Commit Bot
parent a4cb4eb3d3
commit d6fc82f173
2 changed files with 27 additions and 9 deletions

View File

@ -61,6 +61,12 @@
#include "rtc_base/constructormagic.h"
#include "rtc_base/thread_annotations.h"
#if !defined(NDEBUG) || defined(DLOG_ALWAYS_ON)
#define RTC_DLOG_IS_ON 1
#else
#define RTC_DLOG_IS_ON 0
#endif
namespace rtc {
///////////////////////////////////////////////////////////////////////////////
@ -295,11 +301,8 @@ class LogMessageVoidify {
// The _F version prefixes the message with the current function name.
#if (defined(__GNUC__) && !defined(NDEBUG)) || defined(WANT_PRETTY_LOG_F)
#define RTC_LOG_F(sev) RTC_LOG(sev) << __PRETTY_FUNCTION__ << ": "
#define RTC_LOG_T_F(sev) RTC_LOG(sev) << this << ": " \
<< __PRETTY_FUNCTION__ << ": "
#else
#define RTC_LOG_F(sev) RTC_LOG(sev) << __FUNCTION__ << ": "
#define RTC_LOG_T_F(sev) RTC_LOG(sev) << this << ": " << __FUNCTION__ << ": "
#endif
#define RTC_LOG_CHECK_LEVEL(sev) \
@ -360,7 +363,22 @@ inline bool LogCheckLevel(LoggingSeverity sev) {
#define RTC_PLOG(sev, err) \
RTC_LOG_ERR_EX(sev, err)
// TODO(?): Add an "assert" wrapper that logs in the same manner.
// The RTC_DLOG macros are equivalent to their RTC_LOG counterparts except that
// they only generate code in debug builds.
#if RTC_DLOG_IS_ON
#define RTC_DLOG(sev) RTC_LOG(sev)
#define RTC_DLOG_V(sev) RTC_LOG_V(sev)
#define RTC_DLOG_F(sev) RTC_LOG_F(sev)
#else
#define RTC_DLOG_EAT_STREAM_PARAMS(sev) \
(true ? true : ((void)(rtc::sev), true)) \
? static_cast<void>(0) \
: rtc::LogMessageVoidify() & \
rtc::LogMessage(__FILE__, __LINE__, rtc::sev).stream()
#define RTC_DLOG(sev) RTC_DLOG_EAT_STREAM_PARAMS(sev)
#define RTC_DLOG_V(sev) RTC_DLOG_EAT_STREAM_PARAMS(sev)
#define RTC_DLOG_F(sev) RTC_DLOG_EAT_STREAM_PARAMS(sev)
#endif
} // namespace rtc

View File

@ -32,8 +32,8 @@ TransmitMixer::Create(TransmitMixer*& mixer)
mixer = new TransmitMixer();
if (mixer == NULL)
{
RTC_LOG(LS_ERROR) << "TransmitMixer::Create() unable to allocate memory "
"for mixer";
RTC_DLOG(LS_ERROR) <<
"TransmitMixer::Create() unable to allocate memory for mixer";
return -1;
}
return 0;
@ -187,8 +187,8 @@ void TransmitMixer::ProcessAudio(int delay_ms, int clock_drift,
GainControl* agc = audioproc_->gain_control();
if (agc->set_stream_analog_level(current_mic_level) != 0) {
RTC_LOG(LS_ERROR) << "set_stream_analog_level failed: current_mic_level = "
<< current_mic_level;
RTC_DLOG(LS_ERROR) << "set_stream_analog_level failed: current_mic_level = "
<< current_mic_level;
assert(false);
}
@ -201,7 +201,7 @@ void TransmitMixer::ProcessAudio(int delay_ms, int clock_drift,
int err = audioproc_->ProcessStream(&_audioFrame);
if (err != 0) {
RTC_LOG(LS_ERROR) << "ProcessStream() error: " << err;
RTC_DLOG(LS_ERROR) << "ProcessStream() error: " << err;
assert(false);
}