From 9bc160b82ac13d823223c99a1fe885343bb251b1 Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Mon, 8 Mar 2010 17:48:16 +0000 Subject: refactor logging --- source/QXmppClient.cpp | 10 +++++++++- source/QXmppClient.h | 2 ++ source/QXmppLogger.cpp | 34 ++++++++++++---------------------- source/QXmppLogger.h | 10 ++++++---- source/QXmppReconnectionManager.cpp | 3 ++- source/QXmppStream.cpp | 5 +++++ source/QXmppStream.h | 1 + source/QXmppUtils.cpp | 4 ++-- source/QXmppUtils.h | 4 ++-- 9 files changed, 41 insertions(+), 32 deletions(-) (limited to 'source') diff --git a/source/QXmppClient.cpp b/source/QXmppClient.cpp index 454302b2..278fab77 100644 --- a/source/QXmppClient.cpp +++ b/source/QXmppClient.cpp @@ -23,6 +23,7 @@ #include "QXmppClient.h" +#include "QXmppLogger.h" #include "QXmppStream.h" #include "QXmppRoster.h" #include "QXmppMessage.h" @@ -185,7 +186,7 @@ void QXmppClient::connectToServer(const QString& host, else { qWarning("QXmppClient::connectToServer: Invalid bareJid"); - log(QString("Invalid bareJid")); + logger() << QString("Invalid bareJid"); } } @@ -521,3 +522,10 @@ bool QXmppClient::handleStreamElement(const QDomElement &element) { return false; } + +/// Return the QXmppLogger associated with the client. + +QXmppLogger &QXmppClient::logger() +{ + return QXmppLogger::defaultLogger(); +} diff --git a/source/QXmppClient.h b/source/QXmppClient.h index 74d075a4..4339535d 100644 --- a/source/QXmppClient.h +++ b/source/QXmppClient.h @@ -32,6 +32,7 @@ #include "QXmppConfiguration.h" #include "QXmppPresence.h" +class QXmppLogger; class QXmppStream; class QXmppPresence; class QXmppMessage; @@ -194,6 +195,7 @@ public: QXmppClient::StreamError getXmppStreamError(); virtual bool handleStreamElement(const QDomElement &element); + virtual QXmppLogger &logger(); public slots: void sendPacket(const QXmppPacket&); diff --git a/source/QXmppLogger.cpp b/source/QXmppLogger.cpp index 2a2a979e..dac41b19 100644 --- a/source/QXmppLogger.cpp +++ b/source/QXmppLogger.cpp @@ -35,12 +35,17 @@ QXmppLogger::QXmppLogger() { } -QXmppLogger* QXmppLogger::getLogger() +QXmppLogger &QXmppLogger::defaultLogger() { if(!m_logger) m_logger = new QXmppLogger(); - return m_logger; + return *m_logger; +} + +QXmppLogger* QXmppLogger::getLogger() +{ + return &defaultLogger(); } void QXmppLogger::setLoggingType(QXmppLogger::LoggingType log) @@ -53,7 +58,7 @@ QXmppLogger::LoggingType QXmppLogger::loggingType() return m_loggingType; } -void QXmppLogger::log(const QString& str) +QXmppLogger &QXmppLogger::operator<<(const QByteArray &str) { switch(m_loggingType) { @@ -65,34 +70,19 @@ void QXmppLogger::log(const QString& str) m_file.close(); break; case QXmppLogger::STDOUT: - std::cout<logger() << QString("QXmppReconnectionManager::reconnect()"); emit reconnectingNow(); m_client->connectToServer(m_client->getConfiguration()); } diff --git a/source/QXmppStream.cpp b/source/QXmppStream.cpp index b2142c2f..bf4af1f9 100644 --- a/source/QXmppStream.cpp +++ b/source/QXmppStream.cpp @@ -240,6 +240,11 @@ void QXmppStream::sendNonSASLAuthQuery( const QString &to ) sendPacket(authQuery); } +void QXmppStream::log(const QString &data) +{ + m_client->logger() << data; +} + void QXmppStream::parser(const QByteArray& data) { QDomDocument doc; diff --git a/source/QXmppStream.h b/source/QXmppStream.h index 4fea2a0b..b8e57e96 100644 --- a/source/QXmppStream.h +++ b/source/QXmppStream.h @@ -143,6 +143,7 @@ private: int m_authStep; QXmppConfiguration& getConfiguration(); + void log(const QString&); void parser(const QByteArray&); void sendStartStream(); void sendEndStream(); diff --git a/source/QXmppUtils.cpp b/source/QXmppUtils.cpp index 256a4beb..820f3a13 100644 --- a/source/QXmppUtils.cpp +++ b/source/QXmppUtils.cpp @@ -118,12 +118,12 @@ void helperToXmlAddTextElement(QXmlStreamWriter* stream, const QString& name, void log(const QString& str) { - QXmppLogger::getLogger()->log(str); + QXmppLogger::defaultLogger() << str; } void log(const QByteArray& str) { - QXmppLogger::getLogger()->log(str); + QXmppLogger::defaultLogger() << str; } QString escapeString(const QString& str) diff --git a/source/QXmppUtils.h b/source/QXmppUtils.h index 6a66e599..7251bde2 100644 --- a/source/QXmppUtils.h +++ b/source/QXmppUtils.h @@ -52,8 +52,8 @@ void helperToXmlAddTextElement(QXmlStreamWriter* stream, const QString& name, void helperToXmlAddNumberElement(QXmlStreamWriter* stream, const QString& name, int value); -void log(const QString& str); -void log(const QByteArray& str); +void Q_DECL_DEPRECATED log(const QString& str); +void Q_DECL_DEPRECATED log(const QByteArray& str); QString escapeString(const QString& str); QString unescapeString(const QString& str); -- cgit v1.2.3