aboutsummaryrefslogtreecommitdiff
path: root/source/QXmppLogger.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-03-08 19:05:38 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-03-08 19:05:38 +0000
commit7ac9d13564742f06d8e82dff6871e54f4a5f260d (patch)
tree9891aa2ddfaf08b155727f23b85ed6f018a67658 /source/QXmppLogger.cpp
parentce3f7d3096e8d5bc2a17a06a34a0a9889ae701ac (diff)
downloadqxmpp-7ac9d13564742f06d8e82dff6871e54f4a5f260d.tar.gz
rework QXmppLogger to always use QTextStream
Diffstat (limited to 'source/QXmppLogger.cpp')
-rw-r--r--source/QXmppLogger.cpp48
1 files changed, 32 insertions, 16 deletions
diff --git a/source/QXmppLogger.cpp b/source/QXmppLogger.cpp
index 18fc6d30..2bbf727e 100644
--- a/source/QXmppLogger.cpp
+++ b/source/QXmppLogger.cpp
@@ -21,28 +21,55 @@
*
*/
+#include <QFile>
+#include <QTime>
#include "QXmppLogger.h"
-#include <iostream>
-#include <QTime>
QXmppLogger* QXmppLogger::m_logger = 0;
QXmppLogger::QXmppLogger()
- : m_loggingType(QXmppLogger::FILE), m_file("QXmppClientLog.log")
+ : m_loggingType(QXmppLogger::NONE), m_file(0)
+{
+}
+
+QXmppLogger::~QXmppLogger()
{
+ delete m_file;
}
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_file)
+ {
+ delete m_file;
+ m_file = 0;
+ }
+ switch(log)
+ {
+ case QXmppLogger::FILE:
+ m_file = new QFile("QXmppClientLog.log");
+ m_file->open(QIODevice::Append);
+ break;
+ case QXmppLogger::STDOUT:
+ m_file = new QFile();
+ m_file->open(stdout, QIODevice::WriteOnly);
+ break;
+ case QXmppLogger::NONE:
+ break;
+ }
+ m_stream.setDevice(m_file);
m_loggingType = log;
}
@@ -53,22 +80,11 @@ QXmppLogger::LoggingType QXmppLogger::loggingType()
QXmppLogger &QXmppLogger::operator<<(const QByteArray &str)
{
- switch(m_loggingType)
+ if (m_loggingType != NONE)
{
- 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<<str.constData()<<std::endl;
- break;
- case QXmppLogger::NONE:
- break;
- default:
- break;
+ m_stream.flush();
}
return *this;
}