mirror of
https://github.com/intel/llvm.git
synced 2026-01-22 23:49:22 +08:00
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
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user