Browse Source

Allow plStrings to be passed to plLoggable.

Darryl Pogue 13 years ago
parent
commit
9302df2453
  1. 48
      Sources/Plasma/PubUtilLib/plStatusLog/plLoggable.cpp
  2. 2
      Sources/Plasma/PubUtilLib/plStatusLog/plLoggable.h

48
Sources/Plasma/PubUtilLib/plStatusLog/plLoggable.cpp

@ -86,13 +86,20 @@ void plLoggable::SetLog( plStatusLog * log, bool deleteOnDestruct/*=false */)
bool plLoggable::Log( const char * str ) const bool plLoggable::Log( const char * str ) const
{ {
if ( !str || strlen( str )==0 ) return Log(plString::FromUtf8(str));
}
bool plLoggable::Log(const plString& str) const
{
if (str.IsNull() || str.IsEmpty()) {
return true; return true;
}
GetLog(); GetLog();
if ( fStatusLog ) if (fStatusLog) {
return fStatusLog->AddLine( str ); return fStatusLog->AddLine(str.c_str());
}
return true; return true;
} }
@ -101,32 +108,35 @@ bool plLoggable::LogF( const char * fmt, ... ) const
{ {
va_list args; va_list args;
va_start(args, fmt); va_start(args, fmt);
return Log( xtl::formatv( fmt, args ).c_str() ); bool ret = Log(plString::IFormat(fmt, args));
va_end(args);
return ret;
} }
bool plLoggable::LogV( const char * fmt, va_list args ) const bool plLoggable::LogV( const char * fmt, va_list args ) const
{ {
return Log( xtl::formatv( fmt, args ).c_str() ); return Log(plString::IFormat(fmt, args));
} }
bool plLoggable::DebugMsgV(const char* fmt, va_list args) const bool plLoggable::DebugMsgV(const char* fmt, va_list args) const
{ {
return LogF("DBG: %s", xtl::formatv(fmt,args).c_str()); return Log(_TEMP_CONVERT_FROM_LITERAL("DBG: ") + plString::IFormat(fmt, args));
} }
bool plLoggable::ErrorMsgV(const char* fmt, va_list args) const bool plLoggable::ErrorMsgV(const char* fmt, va_list args) const
{ {
return LogF("ERR: %s", xtl::formatv(fmt,args).c_str()); return Log(_TEMP_CONVERT_FROM_LITERAL("ERR: ") + plString::IFormat(fmt, args));
} }
bool plLoggable::WarningMsgV(const char* fmt, va_list args) const bool plLoggable::WarningMsgV(const char* fmt, va_list args) const
{ {
return LogF("WRN: %s", xtl::formatv(fmt,args).c_str()); return Log(_TEMP_CONVERT_FROM_LITERAL("WRN: ") + plString::IFormat(fmt, args));
} }
bool plLoggable::AppMsgV(const char* fmt, va_list args) const bool plLoggable::AppMsgV(const char* fmt, va_list args) const
{ {
return LogF("APP: %s", xtl::formatv(fmt,args).c_str()); return Log(_TEMP_CONVERT_FROM_LITERAL("APP: ") + plString::IFormat(fmt, args));
} }
/////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////
@ -135,26 +145,38 @@ bool plLoggable::DebugMsg(const char* fmt, ...) const
{ {
va_list args; va_list args;
va_start(args, fmt); va_start(args, fmt);
return DebugMsgV(fmt, args); bool ret = DebugMsgV(fmt, args);
va_end(args);
return ret;
} }
bool plLoggable::ErrorMsg(const char* fmt, ...) const bool plLoggable::ErrorMsg(const char* fmt, ...) const
{ {
va_list args; va_list args;
va_start(args, fmt); va_start(args, fmt);
return ErrorMsgV(fmt, args); bool ret = ErrorMsgV(fmt, args);
va_end(args);
return ret;
} }
bool plLoggable::WarningMsg(const char* fmt, ...) const bool plLoggable::WarningMsg(const char* fmt, ...) const
{ {
va_list args; va_list args;
va_start(args, fmt); va_start(args, fmt);
return WarningMsgV(fmt, args); bool ret = WarningMsgV(fmt, args);
va_end(args);
return ret;
} }
bool plLoggable::AppMsg(const char* fmt, ...) const bool plLoggable::AppMsg(const char* fmt, ...) const
{ {
va_list args; va_list args;
va_start(args, fmt); va_start(args, fmt);
return AppMsgV(fmt, args); bool ret = AppMsgV(fmt, args);
va_end(args);
return ret;
} }

2
Sources/Plasma/PubUtilLib/plStatusLog/plLoggable.h

@ -44,6 +44,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include <stdio.h> #include <stdio.h>
#include "HeadSpin.h" #include "HeadSpin.h"
#include "plString.h"
// //
// An abstract base class which contains a status log and simple functions // An abstract base class which contains a status log and simple functions
@ -70,6 +71,7 @@ public:
// logging // logging
virtual bool Log( const char * str ) const; virtual bool Log( const char * str ) const;
virtual bool Log(const plString& str) const;
virtual bool LogF( const char * fmt, ... ) const; virtual bool LogF( const char * fmt, ... ) const;
virtual bool LogV( const char * fmt, va_list args ) const; virtual bool LogV( const char * fmt, va_list args ) const;
virtual bool ErrorMsgV(const char* fmt, va_list args) const ; virtual bool ErrorMsgV(const char* fmt, va_list args) const ;

Loading…
Cancel
Save