diff options
author | Zachary Turner <zturner@google.com> | 2015-04-29 22:55:28 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2015-04-29 22:55:28 +0000 |
commit | c1592658d574e5fe693fc4ba2cd7537b1b72671e (patch) | |
tree | 7bf895d0121e5049b0140afc3776438a9fb2a799 /lldb/source/Core/Log.cpp | |
parent | 2688a499817d51ed865201e3320f5433826a2cee (diff) | |
download | bcm5719-llvm-c1592658d574e5fe693fc4ba2cd7537b1b72671e.tar.gz bcm5719-llvm-c1592658d574e5fe693fc4ba2cd7537b1b72671e.zip |
Introduce a NullLog class, which ignores all messages.
The purpose of this class is so that GetLogIfAllCategoriesSet
can always return an instance of some class, whether it be a real
logging class or a "null" class, which ignores messages. Code
that is littered with if statements that only log if the pointer
is non-null can get very unwieldy very quickly, so this should
help code readability in such circumstances.
Since I'm in this code anyway, I'm also deleting the
PrintfWithFlags methods, as well as all the flags, since they
appear to be dead code that have been superceded by newer
mechanisms and all the flags are simply ignored.
llvm-svn: 236174
Diffstat (limited to 'lldb/source/Core/Log.cpp')
-rw-r--r-- | lldb/source/Core/Log.cpp | 208 |
1 files changed, 93 insertions, 115 deletions
diff --git a/lldb/source/Core/Log.cpp b/lldb/source/Core/Log.cpp index 57b888a3bac..fde7bee1606 100644 --- a/lldb/source/Core/Log.cpp +++ b/lldb/source/Core/Log.cpp @@ -77,6 +77,23 @@ Log::GetMask() const return m_mask_bits; } +void +Log::PutCString(const char *cstr) +{ + Printf("%s", cstr); +} + +//---------------------------------------------------------------------- +// Simple variable argument logging with flags. +//---------------------------------------------------------------------- +void +Log::Printf(const char *format, ...) +{ + va_list args; + va_start(args, format); + VAPrintf(format, args); + va_end(args); +} //---------------------------------------------------------------------- // All logging eventually boils down to this function call. If we have @@ -84,7 +101,7 @@ Log::GetMask() const // a valid file handle, we also log to the file. //---------------------------------------------------------------------- void -Log::PrintfWithFlagsVarArg (uint32_t flags, const char *format, va_list args) +Log::VAPrintf(const char *format, va_list args) { // Make a copy of our stream shared pointer in case someone disables our // log while we are logging and releases the stream @@ -136,59 +153,20 @@ Log::PrintfWithFlagsVarArg (uint32_t flags, const char *format, va_list args) } } - -void -Log::PutCString (const char *cstr) -{ - Printf ("%s", cstr); -} - - -//---------------------------------------------------------------------- -// Simple variable argument logging with flags. -//---------------------------------------------------------------------- -void -Log::Printf(const char *format, ...) -{ - va_list args; - va_start (args, format); - PrintfWithFlagsVarArg (0, format, args); - va_end (args); -} - -void -Log::VAPrintf (const char *format, va_list args) -{ - PrintfWithFlagsVarArg (0, format, args); -} - - -//---------------------------------------------------------------------- -// Simple variable argument logging with flags. -//---------------------------------------------------------------------- -void -Log::PrintfWithFlags (uint32_t flags, const char *format, ...) -{ - va_list args; - va_start (args, format); - PrintfWithFlagsVarArg (flags, format, args); - va_end (args); -} - //---------------------------------------------------------------------- // Print debug strings if and only if the global debug option is set to // a non-zero value. //---------------------------------------------------------------------- void -Log::Debug (const char *format, ...) +Log::Debug(const char *format, ...) { - if (GetOptions().Test(LLDB_LOG_OPTION_DEBUG)) - { - va_list args; - va_start (args, format); - PrintfWithFlagsVarArg (LLDB_LOG_FLAG_DEBUG, format, args); - va_end (args); - } + if (!GetOptions().Test(LLDB_LOG_OPTION_DEBUG)) + return; + + va_list args; + va_start(args, format); + VAPrintf(format, args); + va_end(args); } @@ -197,15 +175,15 @@ Log::Debug (const char *format, ...) // a non-zero value. //---------------------------------------------------------------------- void -Log::DebugVerbose (const char *format, ...) +Log::DebugVerbose(const char *format, ...) { - if (GetOptions().AllSet (LLDB_LOG_OPTION_DEBUG | LLDB_LOG_OPTION_VERBOSE)) - { - va_list args; - va_start (args, format); - PrintfWithFlagsVarArg (LLDB_LOG_FLAG_DEBUG | LLDB_LOG_FLAG_VERBOSE, format, args); - va_end (args); - } + if (!GetOptions().AllSet(LLDB_LOG_OPTION_DEBUG | LLDB_LOG_OPTION_VERBOSE)) + return; + + va_list args; + va_start(args, format); + VAPrintf(format, args); + va_end(args); } @@ -213,34 +191,34 @@ Log::DebugVerbose (const char *format, ...) // Log only if all of the bits are set //---------------------------------------------------------------------- void -Log::LogIf (uint32_t bits, const char *format, ...) +Log::LogIf(uint32_t bits, const char *format, ...) { - if (m_options.AllSet (bits)) - { - va_list args; - va_start (args, format); - PrintfWithFlagsVarArg (0, format, args); - va_end (args); - } + if (!m_options.AllSet(bits)) + return; + + va_list args; + va_start(args, format); + VAPrintf(format, args); + va_end(args); } //---------------------------------------------------------------------- // Printing of errors that are not fatal. //---------------------------------------------------------------------- void -Log::Error (const char *format, ...) +Log::Error(const char *format, ...) { - char *arg_msg = NULL; + char *arg_msg = nullptr; va_list args; - va_start (args, format); - ::vasprintf (&arg_msg, format, args); - va_end (args); + va_start(args, format); + ::vasprintf(&arg_msg, format, args); + va_end(args); - if (arg_msg != NULL) - { - PrintfWithFlags (LLDB_LOG_FLAG_ERROR, "error: %s", arg_msg); - free (arg_msg); - } + if (arg_msg == nullptr) + return; + + VAPrintf("error: %s", arg_msg); + free(arg_msg); } //---------------------------------------------------------------------- @@ -248,20 +226,20 @@ Log::Error (const char *format, ...) // immediately. //---------------------------------------------------------------------- void -Log::FatalError (int err, const char *format, ...) +Log::FatalError(int err, const char *format, ...) { - char *arg_msg = NULL; + char *arg_msg = nullptr; va_list args; - va_start (args, format); - ::vasprintf (&arg_msg, format, args); - va_end (args); + va_start(args, format); + ::vasprintf(&arg_msg, format, args); + va_end(args); - if (arg_msg != NULL) + if (arg_msg != nullptr) { - PrintfWithFlags (LLDB_LOG_FLAG_ERROR | LLDB_LOG_FLAG_FATAL, "error: %s", arg_msg); - ::free (arg_msg); + VAPrintf("error: %s", arg_msg); + ::free(arg_msg); } - ::exit (err); + ::exit(err); } @@ -270,15 +248,15 @@ Log::FatalError (int err, const char *format, ...) // enabled. //---------------------------------------------------------------------- void -Log::Verbose (const char *format, ...) +Log::Verbose(const char *format, ...) { - if (m_options.Test(LLDB_LOG_OPTION_VERBOSE)) - { - va_list args; - va_start (args, format); - PrintfWithFlagsVarArg (LLDB_LOG_FLAG_VERBOSE, format, args); - va_end (args); - } + if (!m_options.Test(LLDB_LOG_OPTION_VERBOSE)) + return; + + va_list args; + va_start(args, format); + VAPrintf(format, args); + va_end(args); } //---------------------------------------------------------------------- @@ -286,40 +264,40 @@ Log::Verbose (const char *format, ...) // enabled. //---------------------------------------------------------------------- void -Log::WarningVerbose (const char *format, ...) +Log::WarningVerbose(const char *format, ...) { - if (m_options.Test(LLDB_LOG_OPTION_VERBOSE)) - { - char *arg_msg = NULL; - va_list args; - va_start (args, format); - ::vasprintf (&arg_msg, format, args); - va_end (args); + if (!m_options.Test(LLDB_LOG_OPTION_VERBOSE)) + return; - if (arg_msg != NULL) - { - PrintfWithFlags (LLDB_LOG_FLAG_WARNING | LLDB_LOG_FLAG_VERBOSE, "warning: %s", arg_msg); - free (arg_msg); - } - } + char *arg_msg = nullptr; + va_list args; + va_start(args, format); + ::vasprintf(&arg_msg, format, args); + va_end(args); + + if (arg_msg == nullptr) + return; + + VAPrintf("warning: %s", arg_msg); + free(arg_msg); } //---------------------------------------------------------------------- // Printing of warnings that are not fatal. //---------------------------------------------------------------------- void -Log::Warning (const char *format, ...) +Log::Warning(const char *format, ...) { - char *arg_msg = NULL; + char *arg_msg = nullptr; va_list args; - va_start (args, format); - ::vasprintf (&arg_msg, format, args); - va_end (args); + va_start(args, format); + ::vasprintf(&arg_msg, format, args); + va_end(args); - if (arg_msg != NULL) - { - PrintfWithFlags (LLDB_LOG_FLAG_WARNING, "warning: %s", arg_msg); - free (arg_msg); - } + if (arg_msg == nullptr) + return; + + VAPrintf("warning: %s", arg_msg); + free(arg_msg); } typedef std::map <ConstString, Log::Callbacks> CallbackMap; |