Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mirall/logger.cpp33
-rw-r--r--src/mirall/logger.h8
2 files changed, 15 insertions, 26 deletions
diff --git a/src/mirall/logger.cpp b/src/mirall/logger.cpp
index 6c8561908..0bc8d1ccb 100644
--- a/src/mirall/logger.cpp
+++ b/src/mirall/logger.cpp
@@ -27,6 +27,9 @@ static void mirallLogCatcher(QtMsgType type, const char *msg)
// qDebug() exports to local8Bit, which is not always UTF-8
Logger::instance()->mirallLog( QString::fromLocal8Bit(msg) );
}
+static void qInstallMessageHandler(QtMsgHandler h) {
+ qInstallMsgHandler(h);
+}
#else
static void mirallLogCatcher(QtMsgType, const QMessageLogContext &ctx, const QString &message) {
Q_UNUSED(ctx);
@@ -38,35 +41,23 @@ static void mirallLogCatcher(QtMsgType, const QMessageLogContext &ctx, const QSt
}
#endif
-Logger* Logger::_instance=0;
-
-Logger::Logger( QObject* parent)
-: QObject(parent),
- _showTime(true), _doLogging(false), _doFileFlush(false), _logExpire(0)
+Logger *Logger::instance()
{
+ static Logger log;
+ return &log;
}
-Logger *Logger::instance()
+Logger::Logger( QObject* parent) : QObject(parent),
+ _showTime(true), _doLogging(false), _doFileFlush(false), _logExpire(0)
{
- if( !Logger::_instance ) {
- Logger::_instance = new Logger;
-#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
- qInstallMsgHandler( mirallLogCatcher );
-#else
- qInstallMessageHandler(mirallLogCatcher);
-#endif
- }
- return Logger::_instance;
+ qInstallMessageHandler(mirallLogCatcher);
}
-void Logger::destroy()
-{
- if( Logger::_instance ) {
- delete Logger::_instance;
- Logger::_instance = 0;
- }
+Logger::~Logger() {
+ qInstallMessageHandler(0);
}
+
void Logger::postGuiLog(const QString &title, const QString &message)
{
emit guiLog(title, message);
diff --git a/src/mirall/logger.h b/src/mirall/logger.h
index 035ed6246..8e4fdbe6c 100644
--- a/src/mirall/logger.h
+++ b/src/mirall/logger.h
@@ -41,6 +41,7 @@ class OWNCLOUDSYNC_EXPORT Logger : public QObject
{
Q_OBJECT
public:
+
void log(Log log);
static void csyncLog( const QString& message );
@@ -49,7 +50,6 @@ public:
const QList<Log>& logs() const {return _logs;}
static Logger* instance();
- static void destroy();
void postGuiLog(const QString& title, const QString& message);
void postOptionalGuiLog(const QString& title, const QString& message);
@@ -69,14 +69,12 @@ signals:
public slots:
void enterNextLogFile();
-protected:
+private:
Logger(QObject* parent=0);
+ ~Logger();
QList<Log> _logs;
bool _showTime;
bool _doLogging;
-
- static Logger* _instance;
-
QFile _logFile;
bool _doFileFlush;
int _logExpire;