Split log into h and cpp
This commit is contained in:
@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.0)
|
|||||||
|
|
||||||
project(uvosunwrap)
|
project(uvosunwrap)
|
||||||
|
|
||||||
set(SRC_FILES_LIB src/unwrap.cpp src/drawing.cpp src/matutils.cpp src/bgremoval.cpp src/charuco.cpp src/harris.cpp)
|
set(SRC_FILES_LIB src/unwrap.cpp src/drawing.cpp src/matutils.cpp src/bgremoval.cpp src/charuco.cpp src/harris.cpp src/log.cpp)
|
||||||
|
|
||||||
set(SRC_FILES_APP src/main.cpp)
|
set(SRC_FILES_APP src/main.cpp)
|
||||||
|
|
||||||
|
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;
|
bool opened = false;
|
||||||
Level msglevel = DEBUG;
|
Level msglevel = DEBUG;
|
||||||
|
|
||||||
inline std::string getLabel(Level level)
|
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
static bool headers;
|
||||||
inline static bool headers = false;
|
static Level level;
|
||||||
inline static Level level = WARN;
|
static bool endline;
|
||||||
|
|
||||||
Log() {}
|
Log() {}
|
||||||
Log(Level type)
|
Log(Level type);
|
||||||
{
|
~Log();
|
||||||
msglevel = type;
|
|
||||||
if(headers)
|
|
||||||
{
|
|
||||||
operator << ("["+getLabel(type)+"]");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
~Log()
|
|
||||||
{
|
|
||||||
if(opened)
|
|
||||||
{
|
|
||||||
std::cout<<'\n';
|
|
||||||
}
|
|
||||||
opened = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
template<class T> Log &operator<<(const T &msg)
|
template<class T> Log &operator<<(const T &msg)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user