Beispiel #1
0
void
Logger::_log(LogType type, QString message)
{
	const QString& prefix = _log_str_arr[type];
	QString fullMessage = prefix + message;

	QVariantMap entry;
	entry.insert("type", type);
	entry.insert("message", message);
	_log_cache->append(entry);

	switch (type) {
	case LOG_DEBUG:
	case LOG_INFO:
		_original_handler(QtDebugMsg, QMessageLogContext(), fullMessage);
		return;
	case LOG_ERROR:
		_original_handler(QtCriticalMsg, QMessageLogContext(), fullMessage);
		return;
	case LOG_WARN:
		_original_handler(QtWarningMsg, QMessageLogContext(), fullMessage);
		return;
	}
}
void QtServiceBase::logMessage(const QString &message, MessageType type,
                           int id, uint category, const QByteArray &data)
{
#if defined(QTSERVICE_DEBUG)
    QByteArray dbgMsg("[LOGGED ");
    switch (type) {
    case Error: dbgMsg += "Error] " ; break;
    case Warning: dbgMsg += "Warning] "; break;
    case Success: dbgMsg += "Success] "; break;
    case Information: //fall through
    default: dbgMsg += "Information] "; break;
    }
#  if QT_VERSION >= 0x050000
    qtServiceLogDebug((QtMsgType)-1, QMessageLogContext(), QLatin1String(dbgMsg) + message);
#  else
    qtServiceLogDebug((QtMsgType)-1, (dbgMsg + message.toAscii()).constData());
#  endif
#endif

    Q_D(QtServiceBase);
    if (!winServiceInit())
        return;
    WORD wType;
    switch (type) {
    case Error: wType = EVENTLOG_ERROR_TYPE; break;
    case Warning: wType = EVENTLOG_WARNING_TYPE; break;
    case Information: wType = EVENTLOG_INFORMATION_TYPE; break;
    default: wType = EVENTLOG_SUCCESS; break;
    }
    HANDLE h = pRegisterEventSource(0, (wchar_t *)d->controller.serviceName().utf16());
    if (h) {
        const wchar_t *msg = (wchar_t*)message.utf16();
        const char *bindata = data.size() ? data.constData() : 0;
        pReportEvent(h, wType, category, id, 0, 1, data.size(),(const wchar_t **)&msg,
                     const_cast<char *>(bindata));
        pDeregisterEventSource(h);
    }
}
Beispiel #3
0
MessageHandler::MessageHandler(QObject *parent) :
    QObject(parent)
{
    this->message(QtDebugMsg, QMessageLogContext(), QString("READY."));
}