mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-13 08:41:16 +00:00
add static set log level function and minimum log level variable to FairMQlogger in order to filter output printing.
This commit is contained in:
parent
445ef356d1
commit
7fa785a8f4
|
@ -12,42 +12,52 @@
|
|||
* @author D. Klein, A. Rybalchenko
|
||||
*/
|
||||
|
||||
#include <string>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "FairMQLogger.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
int FairMQLogger::fMinLogLevel = FairMQLogger::DEBUG;
|
||||
|
||||
FairMQLogger::FairMQLogger()
|
||||
: os()
|
||||
: os(), fLogLevel(DEBUG)
|
||||
{
|
||||
}
|
||||
|
||||
FairMQLogger::~FairMQLogger()
|
||||
{
|
||||
cout << os.str() << endl;
|
||||
if(fLogLevel>=FairMQLogger::fMinLogLevel && fLogLevel<FairMQLogger::NOLOG)
|
||||
std::cout << os.str() << std::endl;
|
||||
}
|
||||
|
||||
ostringstream& FairMQLogger::Log(int type)
|
||||
std::ostringstream& FairMQLogger::Log(int type)
|
||||
{
|
||||
string type_str;
|
||||
std::string type_str;
|
||||
fLogLevel=type;
|
||||
switch (type)
|
||||
{
|
||||
case DEBUG :
|
||||
type_str = "\033[01;34mDEBUG\033[0m";
|
||||
break;
|
||||
|
||||
case INFO :
|
||||
type_str = "\033[01;32mINFO\033[0m";
|
||||
break;
|
||||
case ERROR:
|
||||
type_str = "\033[01;31mERROR\033[0m";
|
||||
break;
|
||||
|
||||
case WARN :
|
||||
type_str = "\033[01;33mWARN\033[0m";
|
||||
break;
|
||||
|
||||
case ERROR :
|
||||
type_str = "\033[01;31mERROR\033[0m";
|
||||
break;
|
||||
|
||||
case STATE :
|
||||
type_str = "\033[01;35mSTATE\033[0m";
|
||||
break;
|
||||
|
||||
case NOLOG :
|
||||
type_str = "\033[01;31mNOLOG\033[0m";
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -20,24 +20,35 @@
|
|||
#include <iostream>
|
||||
#include <iomanip>
|
||||
#include <ctime>
|
||||
#include <string>
|
||||
#include <stdio.h>
|
||||
|
||||
class FairMQLogger
|
||||
{
|
||||
public:
|
||||
enum
|
||||
enum Level
|
||||
{
|
||||
DEBUG,
|
||||
INFO,
|
||||
ERROR,
|
||||
WARN,
|
||||
STATE
|
||||
ERROR,
|
||||
STATE,
|
||||
NOLOG
|
||||
};
|
||||
|
||||
FairMQLogger();
|
||||
virtual ~FairMQLogger();
|
||||
std::ostringstream& Log(int type);
|
||||
|
||||
static void SetLogLevel(int loglevel)
|
||||
{
|
||||
FairMQLogger::fMinLogLevel = loglevel;
|
||||
}
|
||||
|
||||
private:
|
||||
std::ostringstream os;
|
||||
int fLogLevel;
|
||||
static int fMinLogLevel;
|
||||
};
|
||||
|
||||
typedef unsigned long long timestamp_t;
|
||||
|
@ -46,5 +57,6 @@ timestamp_t get_timestamp();
|
|||
|
||||
#define LOG(type) FairMQLogger().Log(FairMQLogger::type)
|
||||
#define MQLOG(type) FairMQLogger().Log(FairMQLogger::type)
|
||||
#define SET_LOG_LEVEL(loglevel) FairMQLogger::SetLogLevel(FairMQLogger::loglevel)
|
||||
|
||||
#endif /* FAIRMQLOGGER_H_ */
|
||||
|
|
Loading…
Reference in New Issue
Block a user