diff --git a/src/logger.cc b/src/logger.cc index f987db3f3..0d48648d4 100644 --- a/src/logger.cc +++ b/src/logger.cc @@ -4,7 +4,7 @@ #include #include -Q_GLOBAL_STATIC(Logger, gd_logger) +Q_GLOBAL_STATIC( Logger, gd_logger ) QMutex logMutex; @@ -13,63 +13,68 @@ void logToFileMessageHander( QtMsgType type, const QMessageLogContext & context, QString strTime = QDateTime::currentDateTime().toString( "MM-dd hh:mm:ss" ); QString message = QString( "%1 %2\r\n" ).arg( strTime, mess ); - if ( gd_logger -> logFile.isOpen() ) { + if ( gd_logger->logFile.isOpen() ) { //without the lock ,on multithread,there would be assert error. QMutexLocker _( &logMutex ); switch ( type ) { case QtDebugMsg: message.prepend( "Debug: " ); - break; + break; case QtWarningMsg: - message.prepend("Warning: " ); - break; + message.prepend( "Warning: " ); + break; case QtCriticalMsg: message.prepend( "Critical: " ); - break; + break; case QtFatalMsg: message.prepend( "Fatal: " ); - gd_logger -> logFile.write( message.toUtf8() ); - gd_logger -> logFile.flush(); - abort(); + gd_logger->logFile.write( message.toUtf8() ); + gd_logger->logFile.flush(); + abort(); case QtInfoMsg: message.insert( 0, "Info: " ); - break; + break; } - gd_logger -> logFile.write( message.toUtf8() ); - gd_logger -> logFile.flush(); + gd_logger->logFile.write( message.toUtf8() ); + gd_logger->logFile.flush(); return; - } else { + } + else { throw std::runtime_error( "logToFileMessageHandler fatal error!" ); } } -void Logger::retainDefaultMessageHandler(QtMessageHandler handler){ - gd_logger->defaultMessageHandler=handler; +void Logger::retainDefaultMessageHandler( QtMessageHandler handler ) +{ + gd_logger->defaultMessageHandler = handler; } -void Logger::switchLoggingMethod(bool logToFile){ - if(logToFile){ - if(!gd_logger -> logFile.isOpen()){ - gd_logger -> logFile.setFileName( Config::getConfigDir() + "gd_log.txt" ); - if(!gd_logger -> logFile.open( QFile::WriteOnly )){ - qDebug()<<"Failed to open log file!"; +void Logger::switchLoggingMethod( bool logToFile ) +{ + if ( logToFile ) { + if ( !gd_logger->logFile.isOpen() ) { + gd_logger->logFile.setFileName( Config::getConfigDir() + "gd_log.txt" ); + if ( !gd_logger->logFile.open( QFile::WriteOnly ) ) { + qDebug() << "Failed to open log file!"; return; }; } - qInstallMessageHandler(logToFileMessageHander); - } else { - if(gd_logger -> logFile.isOpen()){ - gd_logger -> logFile.flush(); + qInstallMessageHandler( logToFileMessageHander ); + } + else { + if ( gd_logger->logFile.isOpen() ) { + gd_logger->logFile.flush(); } - qInstallMessageHandler(gd_logger->defaultMessageHandler); + qInstallMessageHandler( gd_logger->defaultMessageHandler ); } } -void Logger::closeLogFile(){ - if(gd_logger -> logFile.isOpen()){ - gd_logger -> logFile.flush(); - gd_logger -> logFile.close(); +void Logger::closeLogFile() +{ + if ( gd_logger->logFile.isOpen() ) { + gd_logger->logFile.flush(); + gd_logger->logFile.close(); } } diff --git a/src/logger.hh b/src/logger.hh index 56f16d502..4c0a97ab1 100644 --- a/src/logger.hh +++ b/src/logger.hh @@ -3,10 +3,11 @@ #include /// Manage Logging, mainly for switching to log-to-file because of Windows -struct Logger { - static void retainDefaultMessageHandler(QtMessageHandler); - static void switchLoggingMethod( bool logToFile ); - static void closeLogFile(); - QFile logFile; - QtMessageHandler defaultMessageHandler; +struct Logger +{ + static void retainDefaultMessageHandler( QtMessageHandler ); + static void switchLoggingMethod( bool logToFile ); + static void closeLogFile(); + QFile logFile; + QtMessageHandler defaultMessageHandler; };