refs #350 Fixed CLogMessage methods for logging preformatted statusmessages.

This commit is contained in:
Mathew Sutcliffe
2014-12-08 00:23:51 +00:00
parent bf52390e01
commit 69905d310f
5 changed files with 29 additions and 55 deletions

View File

@@ -40,24 +40,6 @@ namespace BlackMisc
return *this;
}
CLogMessage &CLogMessage::statusMessage(const CStatusMessage &statusMessage)
{
switch (statusMessage.getSeverity())
{
case CStatusMessage::SeverityDebug:
this->m_message = statusMessage.getMessage();
return debug();
case CStatusMessage::SeverityInfo:
return info(statusMessage.getMessage());
case CStatusMessage::SeverityWarning:
return warning(statusMessage.getMessage());
case CStatusMessage::SeverityError:
return error(statusMessage.getMessage());
default:
return info(statusMessage.getMessage());
}
}
CLogMessage &CLogMessage::validationInfo(QString format)
{
m_categories.remove(CLogCategory::uncategorized());
@@ -79,30 +61,6 @@ namespace BlackMisc
return error(format);
}
CLogMessage &CLogMessage::validation(const CStatusMessage &statusMessage)
{
switch (statusMessage.getSeverity())
{
case CStatusMessage::SeverityDebug:
case CStatusMessage::SeverityInfo:
return validationInfo(statusMessage.getMessage());
case CStatusMessage::SeverityWarning:
return validationWarning(statusMessage.getMessage());
case CStatusMessage::SeverityError:
return validationError(statusMessage.getMessage());
default:
return validationInfo(statusMessage.getMessage());
}
}
void CLogMessage::validations(const CStatusMessageList &statusMessages)
{
foreach(CStatusMessage msg, statusMessages)
{
validation(msg);
}
}
CLogMessage::operator CStatusMessage()
{
m_redundant = true;
@@ -213,4 +171,19 @@ namespace BlackMisc
|| (QLoggingCategory::defaultCategory() && category == QLoggingCategory::defaultCategory()->categoryName());
}
void CLogMessage::preformatted(const CStatusMessage &statusMessage)
{
CLogMessage msg(statusMessage.getCategories());
msg.m_severity = statusMessage.getSeverity();
msg.m_message = statusMessage.getMessage();
}
void CLogMessage::preformatted(const CStatusMessageList &statusMessages)
{
for(const auto &msg : statusMessages)
{
preformatted(msg);
}
}
}

View File

@@ -111,9 +111,6 @@ namespace BlackMisc
//! Set the severity to error, providing a format string.
CLogMessage &error(QString format);
//! Log message by status message
CLogMessage &statusMessage(const CStatusMessage &statusMessage);
//! Set the severity to info, providing a format string, and adding the validation category.
CLogMessage &validationInfo(QString format);
@@ -123,13 +120,6 @@ namespace BlackMisc
//! Set the severity to error, providing a format string, and adding the validation category.
CLogMessage &validationError(QString format);
//! Set the severity as in \sa CStatusMessage::StatusSeverity , and adding the validation category.
CLogMessage &validation(const CStatusMessage &statusMessage);
//! Set the severity as in \sa CStatusMessage::StatusSeverity , and adding the validation category.
//! \todo how to handle return value here, CLogMessageList?
void validations(const CStatusMessageList &statusMessages);
//! Streaming operators.
//! \details If the format string is empty, the message will consist of all streamed values separated by spaces.
//! Otherwise, the streamed values will replace the place markers %1, %2, %3... in the format string.
@@ -150,6 +140,12 @@ namespace BlackMisc
CLogMessage &operator <<(const CValueObject &v) { return arg(v.toQString()); }
//! @}
//! Sends a verbatim, preformatted message to the log.
static void preformatted(const CStatusMessage &statusMessage);
//! Sends a list of verbatim, preformatted messages to the log.
static void preformatted(const CStatusMessageList &statusMessages);
private:
QMessageLogger m_logger;
CStatusMessage::StatusSeverity m_severity = CStatusMessage::SeverityDebug;