Split log into h and cpp
This commit is contained in:
		
							parent
							
								
									4cb43c136f
								
							
						
					
					
						commit
						6b6c098529
					
				
					 3 changed files with 71 additions and 41 deletions
				
			
		
							
								
								
									
										64
									
								
								src/log.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								src/log.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,64 @@
 | 
			
		|||
/**
 | 
			
		||||
* Lubricant Detecter
 | 
			
		||||
* Copyright (C) 2021 Carl Klemm
 | 
			
		||||
*
 | 
			
		||||
* This program is free software; you can redistribute it and/or
 | 
			
		||||
* modify it under the terms of the GNU General Public License
 | 
			
		||||
* version 3 as published by the Free Software Foundation.
 | 
			
		||||
*
 | 
			
		||||
* This program is distributed in the hope that it will be useful,
 | 
			
		||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
* GNU General Public License for more details.
 | 
			
		||||
*
 | 
			
		||||
* You should have received a copy of the GNU General Public License
 | 
			
		||||
* along with this program; if not, write to the
 | 
			
		||||
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 | 
			
		||||
* Boston, MA  02110-1301, USA.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#include "log.h"
 | 
			
		||||
 | 
			
		||||
Log::Log(Level type)
 | 
			
		||||
{
 | 
			
		||||
	msglevel = type;
 | 
			
		||||
	if(headers) 
 | 
			
		||||
	{
 | 
			
		||||
		operator << ("["+getLabel(type)+"]");
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Log::~Log() 
 | 
			
		||||
{
 | 
			
		||||
	if(opened && endline) 
 | 
			
		||||
	{
 | 
			
		||||
		std::cout<<'\n';
 | 
			
		||||
	}
 | 
			
		||||
	opened = false;
 | 
			
		||||
}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
std::string Log::getLabel(Level level) 
 | 
			
		||||
{
 | 
			
		||||
	std::string label;
 | 
			
		||||
	switch(level) 
 | 
			
		||||
	{
 | 
			
		||||
		case DEBUG: 
 | 
			
		||||
			label = "DEBUG"; 
 | 
			
		||||
			break;
 | 
			
		||||
		case INFO:  
 | 
			
		||||
			label = "INFO "; 
 | 
			
		||||
			break;
 | 
			
		||||
		case WARN:  
 | 
			
		||||
			label = "WARN "; 
 | 
			
		||||
			break;
 | 
			
		||||
		case ERROR: 
 | 
			
		||||
			label = "ERROR"; 
 | 
			
		||||
			break;
 | 
			
		||||
	}
 | 
			
		||||
	return label;
 | 
			
		||||
}
 | 
			
		||||
	
 | 
			
		||||
bool Log::headers = false;
 | 
			
		||||
Log::Level Log::level = WARN;
 | 
			
		||||
bool Log::endline = false;
 | 
			
		||||
							
								
								
									
										46
									
								
								src/log.h
									
										
									
									
									
								
							
							
						
						
									
										46
									
								
								src/log.h
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -37,51 +37,17 @@ private:
 | 
			
		|||
	bool opened = false;
 | 
			
		||||
	Level msglevel = DEBUG;
 | 
			
		||||
 | 
			
		||||
	inline std::string getLabel(Level level) 
 | 
			
		||||
	{
 | 
			
		||||
		std::string label;
 | 
			
		||||
		switch(level) 
 | 
			
		||||
		{
 | 
			
		||||
			case DEBUG: 
 | 
			
		||||
				label = "DEBUG"; 
 | 
			
		||||
				break;
 | 
			
		||||
			case INFO:  
 | 
			
		||||
				label = "INFO "; 
 | 
			
		||||
				break;
 | 
			
		||||
			case WARN:  
 | 
			
		||||
				label = "WARN "; 
 | 
			
		||||
				break;
 | 
			
		||||
			case ERROR: 
 | 
			
		||||
				label = "ERROR"; 
 | 
			
		||||
				break;
 | 
			
		||||
		}
 | 
			
		||||
		return label;
 | 
			
		||||
	}
 | 
			
		||||
	std::string getLabel(Level level);
 | 
			
		||||
	
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	inline static bool headers = false;
 | 
			
		||||
	inline static Level level = WARN;
 | 
			
		||||
	static bool headers;
 | 
			
		||||
	static Level level;
 | 
			
		||||
	static bool endline;
 | 
			
		||||
 | 
			
		||||
	Log() {}
 | 
			
		||||
	Log(Level type)
 | 
			
		||||
	{
 | 
			
		||||
		msglevel = type;
 | 
			
		||||
		if(headers) 
 | 
			
		||||
		{
 | 
			
		||||
			operator << ("["+getLabel(type)+"]");
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	~Log() 
 | 
			
		||||
	{
 | 
			
		||||
		if(opened) 
 | 
			
		||||
		{
 | 
			
		||||
			std::cout<<'\n';
 | 
			
		||||
		}
 | 
			
		||||
		opened = false;
 | 
			
		||||
	}
 | 
			
		||||
	Log(Level type);
 | 
			
		||||
	~Log();
 | 
			
		||||
	
 | 
			
		||||
	template<class T> Log &operator<<(const T &msg) 
 | 
			
		||||
	{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue