Add the fmt library (#4065)
* Replaces AppendVPrintf with fmt::sprintf * fmt::ArgList now used as a type safe alternative to varargs. * Removed SIZE_T_FMT compatibility macros. fmt::sprintf is fully portable and supports %zu. * Adds FLOG functions to log with fmt's native formatting style.
This commit is contained in:
+55
-24
@@ -63,11 +63,18 @@ void cLogger::LogSimple(AString a_Message, eLogLevel a_LogLevel)
|
||||
|
||||
|
||||
|
||||
void cLogger::Log(const char * a_Format, eLogLevel a_LogLevel, va_list a_ArgList)
|
||||
void cLogger::LogPrintf(const char * a_Format, eLogLevel a_LogLevel, fmt::ArgList a_ArgList)
|
||||
{
|
||||
AString Message;
|
||||
AppendVPrintf(Message, a_Format, a_ArgList);
|
||||
LogSimple(Message, a_LogLevel);
|
||||
LogSimple(Printf(a_Format, a_ArgList), a_LogLevel);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void cLogger::LogFormat(const char * a_Format, eLogLevel a_LogLevel, fmt::ArgList a_ArgList)
|
||||
{
|
||||
LogSimple(fmt::format(a_Format, a_ArgList), a_LogLevel);
|
||||
}
|
||||
|
||||
|
||||
@@ -110,48 +117,72 @@ void cLogger::DetachListener(cListener * a_Listener)
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Global functions
|
||||
|
||||
void LOG(const char * a_Format, ...)
|
||||
void FLOG(const char * a_Format, fmt::ArgList a_ArgList)
|
||||
{
|
||||
va_list argList;
|
||||
va_start(argList, a_Format);
|
||||
cLogger::GetInstance().Log(a_Format, cLogger::llRegular, argList);
|
||||
va_end(argList);
|
||||
cLogger::GetInstance().LogFormat(a_Format, cLogger::llRegular, a_ArgList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void LOGINFO(const char * a_Format, ...)
|
||||
void FLOGINFO(const char * a_Format, fmt::ArgList a_ArgList)
|
||||
{
|
||||
va_list argList;
|
||||
va_start(argList, a_Format);
|
||||
cLogger::GetInstance().Log( a_Format, cLogger::llInfo, argList);
|
||||
va_end(argList);
|
||||
cLogger::GetInstance().LogFormat( a_Format, cLogger::llInfo, a_ArgList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void LOGWARNING(const char * a_Format, ...)
|
||||
void FLOGWARNING(const char * a_Format, fmt::ArgList a_ArgList)
|
||||
{
|
||||
va_list argList;
|
||||
va_start(argList, a_Format);
|
||||
cLogger::GetInstance().Log( a_Format, cLogger::llWarning, argList);
|
||||
va_end(argList);
|
||||
cLogger::GetInstance().LogFormat( a_Format, cLogger::llWarning, a_ArgList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void LOGERROR(const char * a_Format, ...)
|
||||
void FLOGERROR(const char * a_Format, fmt::ArgList a_ArgList)
|
||||
{
|
||||
va_list argList;
|
||||
va_start(argList, a_Format);
|
||||
cLogger::GetInstance().Log( a_Format, cLogger::llError, argList);
|
||||
va_end(argList);
|
||||
cLogger::GetInstance().LogFormat( a_Format, cLogger::llError, a_ArgList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void LOG(const char * a_Format, fmt::ArgList a_ArgList)
|
||||
{
|
||||
cLogger::GetInstance().LogPrintf(a_Format, cLogger::llRegular, a_ArgList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void LOGINFO(const char * a_Format, fmt::ArgList a_ArgList)
|
||||
{
|
||||
cLogger::GetInstance().LogPrintf( a_Format, cLogger::llInfo, a_ArgList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void LOGWARNING(const char * a_Format, fmt::ArgList a_ArgList)
|
||||
{
|
||||
cLogger::GetInstance().LogPrintf( a_Format, cLogger::llWarning, a_ArgList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void LOGERROR(const char * a_Format, fmt::ArgList a_ArgList)
|
||||
{
|
||||
cLogger::GetInstance().LogPrintf( a_Format, cLogger::llError, a_ArgList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user