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
|
* @author D. Klein, A. Rybalchenko
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <string>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include "FairMQLogger.h"
|
#include "FairMQLogger.h"
|
||||||
|
|
||||||
using namespace std;
|
|
||||||
|
int FairMQLogger::fMinLogLevel = FairMQLogger::DEBUG;
|
||||||
|
|
||||||
FairMQLogger::FairMQLogger()
|
FairMQLogger::FairMQLogger()
|
||||||
: os()
|
: os(), fLogLevel(DEBUG)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
FairMQLogger::~FairMQLogger()
|
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)
|
switch (type)
|
||||||
{
|
{
|
||||||
case DEBUG:
|
case DEBUG :
|
||||||
type_str = "\033[01;34mDEBUG\033[0m";
|
type_str = "\033[01;34mDEBUG\033[0m";
|
||||||
break;
|
break;
|
||||||
case INFO:
|
|
||||||
|
case INFO :
|
||||||
type_str = "\033[01;32mINFO\033[0m";
|
type_str = "\033[01;32mINFO\033[0m";
|
||||||
break;
|
break;
|
||||||
case ERROR:
|
|
||||||
type_str = "\033[01;31mERROR\033[0m";
|
case WARN :
|
||||||
break;
|
|
||||||
case WARN:
|
|
||||||
type_str = "\033[01;33mWARN\033[0m";
|
type_str = "\033[01;33mWARN\033[0m";
|
||||||
break;
|
break;
|
||||||
case STATE:
|
|
||||||
|
case ERROR :
|
||||||
|
type_str = "\033[01;31mERROR\033[0m";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case STATE :
|
||||||
type_str = "\033[01;35mSTATE\033[0m";
|
type_str = "\033[01;35mSTATE\033[0m";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case NOLOG :
|
||||||
|
type_str = "\033[01;31mNOLOG\033[0m";
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,24 +20,35 @@
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#include <ctime>
|
#include <ctime>
|
||||||
|
#include <string>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
class FairMQLogger
|
class FairMQLogger
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum
|
enum Level
|
||||||
{
|
{
|
||||||
DEBUG,
|
DEBUG,
|
||||||
INFO,
|
INFO,
|
||||||
ERROR,
|
|
||||||
WARN,
|
WARN,
|
||||||
STATE
|
ERROR,
|
||||||
|
STATE,
|
||||||
|
NOLOG
|
||||||
};
|
};
|
||||||
|
|
||||||
FairMQLogger();
|
FairMQLogger();
|
||||||
virtual ~FairMQLogger();
|
virtual ~FairMQLogger();
|
||||||
std::ostringstream& Log(int type);
|
std::ostringstream& Log(int type);
|
||||||
|
|
||||||
|
static void SetLogLevel(int loglevel)
|
||||||
|
{
|
||||||
|
FairMQLogger::fMinLogLevel = loglevel;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::ostringstream os;
|
std::ostringstream os;
|
||||||
|
int fLogLevel;
|
||||||
|
static int fMinLogLevel;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef unsigned long long timestamp_t;
|
typedef unsigned long long timestamp_t;
|
||||||
|
@ -46,5 +57,6 @@ timestamp_t get_timestamp();
|
||||||
|
|
||||||
#define LOG(type) FairMQLogger().Log(FairMQLogger::type)
|
#define LOG(type) FairMQLogger().Log(FairMQLogger::type)
|
||||||
#define MQLOG(type) FairMQLogger().Log(FairMQLogger::type)
|
#define MQLOG(type) FairMQLogger().Log(FairMQLogger::type)
|
||||||
|
#define SET_LOG_LEVEL(loglevel) FairMQLogger::SetLogLevel(FairMQLogger::loglevel)
|
||||||
|
|
||||||
#endif /* FAIRMQLOGGER_H_ */
|
#endif /* FAIRMQLOGGER_H_ */
|
||||||
|
|
Loading…
Reference in New Issue
Block a user