LOG() API reads the LogLevel from the cCompositeChat's MessageType.
This commit is contained in:
parent
58f2550321
commit
7aa6a3b866
@ -2665,8 +2665,8 @@ end
|
|||||||
ItemTypeToString = {Params = "ItemType", Return = "string", Notes = "Returns the string representation of ItemType "},
|
ItemTypeToString = {Params = "ItemType", Return = "string", Notes = "Returns the string representation of ItemType "},
|
||||||
LOG =
|
LOG =
|
||||||
{
|
{
|
||||||
{Params = "string", Notes = "Logs a text into the server console using 'normal' severity (gray text) "},
|
{Params = "string", Notes = "Logs a text into the server console using 'normal' severity (gray text)"},
|
||||||
{Params = "{{cCompositeChat|CompositeChat}}", Notes = "Logs the {{cCompositeChat}}'s human-readable text into the server console using 'normal' severity (gray text) "},
|
{Params = "{{cCompositeChat|CompositeChat}}", Notes = "Logs the {{cCompositeChat}}'s human-readable text into the server console. The severity is converted from the CompositeChat's MessageType."},
|
||||||
},
|
},
|
||||||
LOGERROR =
|
LOGERROR =
|
||||||
{
|
{
|
||||||
|
@ -143,7 +143,16 @@ static AString GetLogMessage(lua_State * tolua_S)
|
|||||||
|
|
||||||
static int tolua_LOG(lua_State * tolua_S)
|
static int tolua_LOG(lua_State * tolua_S)
|
||||||
{
|
{
|
||||||
cMCLogger::GetInstance()->LogSimple(GetLogMessage(tolua_S).c_str(), 0);
|
// If the param is a cCompositeChat, read the log level from it:
|
||||||
|
cMCLogger::eLogLevel LogLevel = cMCLogger::llRegular;
|
||||||
|
tolua_Error err;
|
||||||
|
if (tolua_isusertype(tolua_S, 1, "cCompositeChat", false, &err))
|
||||||
|
{
|
||||||
|
LogLevel = cCompositeChat::MessageTypeToLogLevel(((cCompositeChat *)tolua_tousertype(tolua_S, 1, NULL))->GetMessageType());
|
||||||
|
}
|
||||||
|
|
||||||
|
// Log the message:
|
||||||
|
cMCLogger::GetInstance()->LogSimple(GetLogMessage(tolua_S).c_str(), LogLevel);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -153,7 +162,7 @@ static int tolua_LOG(lua_State * tolua_S)
|
|||||||
|
|
||||||
static int tolua_LOGINFO(lua_State * tolua_S)
|
static int tolua_LOGINFO(lua_State * tolua_S)
|
||||||
{
|
{
|
||||||
cMCLogger::GetInstance()->LogSimple(GetLogMessage(tolua_S).c_str(), 1);
|
cMCLogger::GetInstance()->LogSimple(GetLogMessage(tolua_S).c_str(), cMCLogger::llInfo);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -163,7 +172,7 @@ static int tolua_LOGINFO(lua_State * tolua_S)
|
|||||||
|
|
||||||
static int tolua_LOGWARN(lua_State * tolua_S)
|
static int tolua_LOGWARN(lua_State * tolua_S)
|
||||||
{
|
{
|
||||||
cMCLogger::GetInstance()->LogSimple(GetLogMessage(tolua_S).c_str(), 2);
|
cMCLogger::GetInstance()->LogSimple(GetLogMessage(tolua_S).c_str(), cMCLogger::llWarning);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -173,7 +182,7 @@ static int tolua_LOGWARN(lua_State * tolua_S)
|
|||||||
|
|
||||||
static int tolua_LOGERROR(lua_State * tolua_S)
|
static int tolua_LOGERROR(lua_State * tolua_S)
|
||||||
{
|
{
|
||||||
cMCLogger::GetInstance()->LogSimple(GetLogMessage(tolua_S).c_str(), 3);
|
cMCLogger::GetInstance()->LogSimple(GetLogMessage(tolua_S).c_str(), cMCLogger::llError);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -343,6 +343,29 @@ AString cCompositeChat::ExtractText(void) const
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cMCLogger::eLogLevel cCompositeChat::MessageTypeToLogLevel(eMessageType a_MessageType)
|
||||||
|
{
|
||||||
|
switch (a_MessageType)
|
||||||
|
{
|
||||||
|
case mtCustom: return cMCLogger::llRegular;
|
||||||
|
case mtFailure: return cMCLogger::llWarning;
|
||||||
|
case mtInformation: return cMCLogger::llInfo;
|
||||||
|
case mtSuccess: return cMCLogger::llRegular;
|
||||||
|
case mtWarning: return cMCLogger::llWarning;
|
||||||
|
case mtFatal: return cMCLogger::llError;
|
||||||
|
case mtDeath: return cMCLogger::llRegular;
|
||||||
|
case mtPrivateMessage: return cMCLogger::llRegular;
|
||||||
|
case mtJoin: return cMCLogger::llRegular;
|
||||||
|
case mtLeave: return cMCLogger::llRegular;
|
||||||
|
}
|
||||||
|
ASSERT(!"Unhandled MessageType");
|
||||||
|
return cMCLogger::llError;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cCompositeChat::AddStyle(AString & a_Style, const AString & a_AddStyle)
|
void cCompositeChat::AddStyle(AString & a_Style, const AString & a_AddStyle)
|
||||||
{
|
{
|
||||||
if (a_AddStyle.empty())
|
if (a_AddStyle.empty())
|
||||||
|
@ -173,6 +173,10 @@ public:
|
|||||||
|
|
||||||
const cParts & GetParts(void) const { return m_Parts; }
|
const cParts & GetParts(void) const { return m_Parts; }
|
||||||
|
|
||||||
|
/** Converts the MessageType to a LogLevel value.
|
||||||
|
Used by the logging bindings when logging a cCompositeChat object. */
|
||||||
|
static cMCLogger::eLogLevel MessageTypeToLogLevel(eMessageType a_MessageType);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
/** All the parts that */
|
/** All the parts that */
|
||||||
cParts m_Parts;
|
cParts m_Parts;
|
||||||
|
@ -93,25 +93,35 @@ void cMCLogger::InitLog(const AString & a_FileName)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cMCLogger::LogSimple(const char* a_Text, int a_LogType /* = 0 */ )
|
void cMCLogger::LogSimple(const char * a_Text, eLogLevel a_LogLevel)
|
||||||
{
|
{
|
||||||
switch( a_LogType )
|
switch (a_LogLevel)
|
||||||
{
|
{
|
||||||
case 0:
|
case llRegular:
|
||||||
|
{
|
||||||
LOG("%s", a_Text);
|
LOG("%s", a_Text);
|
||||||
break;
|
break;
|
||||||
case 1:
|
}
|
||||||
|
case llInfo:
|
||||||
|
{
|
||||||
LOGINFO("%s", a_Text);
|
LOGINFO("%s", a_Text);
|
||||||
break;
|
break;
|
||||||
case 2:
|
}
|
||||||
|
case llWarning:
|
||||||
|
{
|
||||||
LOGWARN("%s", a_Text);
|
LOGWARN("%s", a_Text);
|
||||||
break;
|
break;
|
||||||
case 3:
|
}
|
||||||
|
case llError:
|
||||||
|
{
|
||||||
LOGERROR("%s", a_Text);
|
LOGERROR("%s", a_Text);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
LOG("(#%d#: %s", a_LogType, a_Text);
|
{
|
||||||
|
LOG("(#%d#: %s", (int)a_LogLevel, a_Text);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,25 +10,36 @@ class cLog;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
class cMCLogger // tolua_export
|
// tolua_begin
|
||||||
{ // tolua_export
|
class cMCLogger
|
||||||
public: // tolua_export
|
{
|
||||||
/// Creates a logger with the default filename, "logs/LOG_<timestamp>.log"
|
public:
|
||||||
|
enum eLogLevel
|
||||||
|
{
|
||||||
|
llRegular,
|
||||||
|
llInfo,
|
||||||
|
llWarning,
|
||||||
|
llError,
|
||||||
|
};
|
||||||
|
// tolua_end
|
||||||
|
|
||||||
|
/** Creates a logger with the default filename, "logs/LOG_<timestamp>.log" */
|
||||||
cMCLogger(void);
|
cMCLogger(void);
|
||||||
|
|
||||||
/// Creates a logger with the specified filename inside "logs" folder
|
/** Creates a logger with the specified filename inside "logs" folder */
|
||||||
cMCLogger(const AString & a_FileName); // tolua_export
|
cMCLogger(const AString & a_FileName); // tolua_export
|
||||||
|
|
||||||
~cMCLogger(); // tolua_export
|
~cMCLogger(); // tolua_export
|
||||||
|
|
||||||
void Log(const char* a_Format, va_list a_ArgList) FORMATSTRING(2, 0);
|
void Log (const char * a_Format, va_list a_ArgList) FORMATSTRING(2, 0);
|
||||||
void Info(const char* a_Format, va_list a_ArgList) FORMATSTRING(2, 0);
|
void Info (const char * a_Format, va_list a_ArgList) FORMATSTRING(2, 0);
|
||||||
void Warn(const char* a_Format, va_list a_ArgList) FORMATSTRING(2, 0);
|
void Warn (const char * a_Format, va_list a_ArgList) FORMATSTRING(2, 0);
|
||||||
void Error(const char* a_Format, va_list a_ArgList) FORMATSTRING(2, 0);
|
void Error(const char * a_Format, va_list a_ArgList) FORMATSTRING(2, 0);
|
||||||
|
|
||||||
void LogSimple(const char* a_Text, int a_LogType = 0 ); // tolua_export
|
/** Logs the simple text message at the specified log level. */
|
||||||
|
void LogSimple(const char * a_Text, eLogLevel a_LogLevel = llRegular); // tolua_export
|
||||||
|
|
||||||
static cMCLogger* GetInstance();
|
static cMCLogger * GetInstance();
|
||||||
private:
|
private:
|
||||||
enum eColorScheme
|
enum eColorScheme
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user