mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-10-30 20:40:20 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			129 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * loggerwithfile.cpp
 | |
|  *
 | |
|  *  Created on: Nov 11, 2017
 | |
|  *      Author: f4exb
 | |
|  */
 | |
| 
 | |
| #include "loggerwithfile.h"
 | |
| 
 | |
| using namespace qtwebapp;
 | |
| 
 | |
| LoggerWithFile::LoggerWithFile(QObject* parent)
 | |
|     :Logger(parent), fileLogger(0), useFileFlogger(false)
 | |
| {
 | |
|      consoleLogger = new Logger(this);
 | |
| }
 | |
| 
 | |
| LoggerWithFile::~LoggerWithFile()
 | |
| {
 | |
|     destroyFileLogger();
 | |
|     delete consoleLogger;
 | |
| }
 | |
| 
 | |
| void LoggerWithFile::createOrSetFileLogger(const FileLoggerSettings& settings, const int refreshInterval)
 | |
| {
 | |
|     if (!fileLogger) {
 | |
|         fileLogger = new FileLogger(settings, refreshInterval, this);
 | |
|     } else {
 | |
|         fileLogger->setFileLoggerSettings(settings);
 | |
|     }
 | |
| }
 | |
| 
 | |
| void LoggerWithFile::destroyFileLogger()
 | |
| {
 | |
|     if (fileLogger)
 | |
|     {
 | |
|         delete fileLogger;
 | |
|         fileLogger = 0;
 | |
|     }
 | |
| }
 | |
| 
 | |
| void LoggerWithFile::log(const QtMsgType type, const QString& message, const QString &file, const QString &function, const int line)
 | |
| {
 | |
|     consoleLogger->log(type,message,file,function,line);
 | |
| 
 | |
|     if (fileLogger && useFileFlogger) {
 | |
|         fileLogger->log(type,message,file,function,line);
 | |
|     }
 | |
| }
 | |
| 
 | |
| void LoggerWithFile::logToFile(const QtMsgType type, const QString& message, const QString &file, const QString &function, const int line)
 | |
| {
 | |
|     if (fileLogger && useFileFlogger) {
 | |
|         fileLogger->log(type,message,file,function,line);
 | |
|     }
 | |
| }
 | |
| 
 | |
| void LoggerWithFile::clear(const bool buffer, const bool variables)
 | |
| {
 | |
|     consoleLogger->clear(buffer,variables);
 | |
| 
 | |
|     if (fileLogger && useFileFlogger) {
 | |
|         fileLogger->clear(buffer,variables);
 | |
|     }
 | |
| }
 | |
| 
 | |
| void LoggerWithFile::setConsoleMinMessageLevel(const QtMsgType& msgLevel)
 | |
| {
 | |
|     consoleLogger->setMinMessageLevel(msgLevel);
 | |
| }
 | |
| 
 | |
| void LoggerWithFile::setFileMinMessageLevel(const QtMsgType& msgLevel)
 | |
| {
 | |
|     if (fileLogger) {
 | |
|         fileLogger->setMinMessageLevel(msgLevel);
 | |
|     }
 | |
| }
 | |
| 
 | |
| void LoggerWithFile::getConsoleMinMessageLevelStr(QString& levelStr)
 | |
| {
 | |
|     switch (consoleLogger->getMinMessageLevel())
 | |
|     {
 | |
|     case QtDebugMsg:
 | |
|         levelStr = "debug";
 | |
|         break;
 | |
|     case QtInfoMsg:
 | |
|         levelStr = "info";
 | |
|         break;
 | |
|     case QtWarningMsg:
 | |
|         levelStr = "warning";
 | |
|         break;
 | |
|     case QtCriticalMsg:
 | |
|     case QtFatalMsg:
 | |
|         levelStr = "error";
 | |
|         break;
 | |
|     default:
 | |
|         levelStr = "debug";
 | |
|         break;
 | |
|     }
 | |
| }
 | |
| 
 | |
| void LoggerWithFile::getFileMinMessageLevelStr(QString& levelStr)
 | |
| {
 | |
|     switch (fileLogger->getMinMessageLevel())
 | |
|     {
 | |
|     case QtDebugMsg:
 | |
|         levelStr = "debug";
 | |
|         break;
 | |
|     case QtInfoMsg:
 | |
|         levelStr = "info";
 | |
|         break;
 | |
|     case QtWarningMsg:
 | |
|         levelStr = "warning";
 | |
|         break;
 | |
|     case QtCriticalMsg:
 | |
|     case QtFatalMsg:
 | |
|         levelStr = "error";
 | |
|         break;
 | |
|     default:
 | |
|         levelStr = "debug";
 | |
|         break;
 | |
|     }
 | |
| }
 | |
| 
 | |
| void LoggerWithFile::getLogFileName(QString& fileName)
 | |
| {
 | |
|     fileName = fileLogger->getFileLoggerSettings().fileName;
 | |
| }
 |