improved string to severity enum (for core log levels)

This commit is contained in:
Klaus Basan
2014-11-29 20:14:10 +00:00
committed by Roland Winklmeier
parent d3a4795845
commit 350b5a0bfa
2 changed files with 21 additions and 24 deletions

View File

@@ -41,7 +41,7 @@ namespace BlackMisc
auto categories = CLogMessageHelper::stripFlags(context.category); auto categories = CLogMessageHelper::stripFlags(context.category);
m_categories = CLogCategoryList::fromQString(categories); m_categories = CLogCategoryList::fromQString(categories);
switch(type) switch (type)
{ {
default: default:
case QtDebugMsg: case QtDebugMsg:
@@ -145,27 +145,24 @@ namespace BlackMisc
*/ */
CStatusMessage::StatusSeverity CStatusMessage::stringToSeverity(const QString &severity) CStatusMessage::StatusSeverity CStatusMessage::stringToSeverity(const QString &severity)
{ {
if (severity.compare(severityToString(SeverityDebug), Qt::CaseInsensitive) == 0) // pre-check
{ QString severityString(severity.trimmed().toLower());
return SeverityDebug; if (severityString.isEmpty()) { return SeverityInfo; }
}
else if (severity.compare(severityToString(SeverityInfo), Qt::CaseInsensitive) == 0) // hard check
{ if (severityString.compare(severityToString(SeverityDebug), Qt::CaseInsensitive) == 0) { return SeverityDebug; }
return SeverityInfo; if (severityString.compare(severityToString(SeverityInfo), Qt::CaseInsensitive) == 0) { return SeverityInfo; }
} if (severityString.compare(severityToString(SeverityWarning), Qt::CaseInsensitive) == 0) { return SeverityWarning; }
else if (severity.compare(severityToString(SeverityWarning), Qt::CaseInsensitive) == 0) if (severityString.compare(severityToString(SeverityError), Qt::CaseInsensitive) == 0) { return SeverityError; }
{
return SeverityWarning; // not found yet, lenient checks
} QChar s = severityString.at(0);
else if (severity.compare(severityToString(SeverityError), Qt::CaseInsensitive) == 0) if (s == 'd') { return SeverityDebug; }
{ if (s == 'i') { return SeverityInfo; }
return SeverityError; if (s == 'w') { return SeverityWarning; }
} if (s == 'e') { return SeverityError; }
else
{ return SeverityInfo;
qFatal("Unknown severity string");
return SeverityError;
}
} }
/* /*

View File

@@ -102,8 +102,8 @@ namespace BlackMisc
//! Severity as string //! Severity as string
static const QString &severityToString(StatusSeverity severity); static const QString &severityToString(StatusSeverity severity);
//! Severity as string //! Severity as string, if not possible to convert \sa CSeverityInfo
static StatusSeverity stringToSeverity(const QString &severityString); static StatusSeverity stringToSeverity(const QString &severity);
//! Severities as strings //! Severities as strings
static const QStringList &allSeverityStrings(); static const QStringList &allSeverityStrings();