Example #1
0
void CSystemLog::postLog(LogSeverity::Severity severity, Components::Component component,
						 QString message)
{
	static LogSeverity::Severity lastSeverity  = LogSeverity::Information;
	static Components::Component lastComponent = Components::None;
	static QString lastMessage;
	static int suppressed = 0;
	static bool bCheck = true;

	if ( bCheck )
	{
		if ( severity == lastSeverity && component == lastComponent && message == lastMessage )
		{
			++suppressed;
			return;
		}
		else
		{
			if ( suppressed > 0 )
			{
				bCheck = false;
				postLog( lastSeverity, lastComponent,
						 tr( "Suppressed %n identical message(s).", 0, suppressed ) );
				bCheck = true;
			}
			lastMessage   = message;
			lastSeverity  = severity;
			lastComponent = component;
			suppressed = 0;
		}
	}

	message = msgFromComponent( component ) + message;

	switch ( severity )
	{
		case LogSeverity::Debug:
		case LogSeverity::Warning:
		case LogSeverity::Critical:
		case LogSeverity::Error:
			qCritical() << qPrintable(message);
			break;
		default:
			break;
	}

	emit logPosted( message, severity );
}
void SystemLog::postLog(QString message, LogSeverity::Severity severity)
{
	switch(severity)
	{
	case LogSeverity::Debug:
		qDebug() << message;
		break;
	case LogSeverity::Warning:
		qWarning() << message;
		break;
	case LogSeverity::Critical:
		qCritical() << message;
		break;
	default:
		break;
	}
	emit logPosted(message, severity);
}