aboutsummaryrefslogtreecommitdiff
path: root/source/QXmppLogger.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-03-08 20:08:05 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-03-08 20:08:05 +0000
commitfad04899470294d98233cfc27c6c18f82990c7ac (patch)
treeac13c50c6261310e3a0b66435614bd7c3235e453 /source/QXmppLogger.cpp
parentd1765ee554d21cb947eed3fbf1aa9073ff962443 (diff)
downloadqxmpp-fad04899470294d98233cfc27c6c18f82990c7ac.tar.gz
rework QXmppLogger yet again
Diffstat (limited to 'source/QXmppLogger.cpp')
-rw-r--r--source/QXmppLogger.cpp68
1 files changed, 31 insertions, 37 deletions
diff --git a/source/QXmppLogger.cpp b/source/QXmppLogger.cpp
index e614cb86..d943bceb 100644
--- a/source/QXmppLogger.cpp
+++ b/source/QXmppLogger.cpp
@@ -21,58 +21,28 @@
*
*/
-#include <QDebug>
-#include <QFile>
-#include <QTime>
#include "QXmppLogger.h"
+#include <iostream>
+#include <QTime>
QXmppLogger* QXmppLogger::m_logger = 0;
QXmppLogger::QXmppLogger()
- : m_loggingType(QXmppLogger::NONE), m_device(0)
-{
-}
-
-QXmppLogger::~QXmppLogger()
+ : m_file("QXmppClientLog.log"), m_loggingType(QXmppLogger::FILE)
{
- delete m_device;
}
QXmppLogger* QXmppLogger::getLogger()
{
if(!m_logger)
- {
m_logger = new QXmppLogger();
- m_logger->setLoggingType(QXmppLogger::FILE);
- }
return m_logger;
}
void QXmppLogger::setLoggingType(QXmppLogger::LoggingType log)
{
- if (m_device)
- {
- delete m_device;
- m_device = 0;
- }
-
- QFile *file = 0;
- switch(log)
- {
- case QXmppLogger::FILE:
- file = new QFile("QXmppClientLog.log");
- file->open(QIODevice::Append);
- break;
- case QXmppLogger::STDOUT:
- file = new QFile();
- file->open(stdout, QIODevice::WriteOnly);
- break;
- case QXmppLogger::NONE:
- break;
- }
- m_device = file;
m_loggingType = log;
}
@@ -81,11 +51,35 @@ QXmppLogger::LoggingType QXmppLogger::loggingType()
return m_loggingType;
}
-QDebug QXmppLogger::debug()
+void QXmppLogger::debug(const QString &str)
+{
+ log(QtDebugMsg, str);
+}
+
+void QXmppLogger::warning(const QString &str)
{
- if (m_device)
- return QDebug(m_device) << QTime::currentTime().toString("hh:mm:ss.zzz") << ":";
- return QDebug(m_device);
+ log(QtWarningMsg, str);
+}
+
+void QXmppLogger::log(QtMsgType type, const QString& str)
+{
+ switch(m_loggingType)
+ {
+ case QXmppLogger::FILE:
+ m_file.open(QIODevice::Append);
+ m_stream.setDevice(&m_file);
+ m_stream << QTime::currentTime().toString("hh:mm:ss.zzz") << " : "<<
+ str << "\n\n";
+ m_file.close();
+ break;
+ case QXmppLogger::STDOUT:
+ std::cout<<qPrintable(str)<<std::endl;
+ break;
+ case QXmppLogger::NONE:
+ break;
+ default:
+ break;
+ }
}
QXmppLogger::LoggingType QXmppLogger::getLoggingType()