mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-11-03 13:11:20 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			122 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			2.6 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::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;
 | 
						|
}
 |