diff --git a/fairmq/FairMQLogger.cxx b/fairmq/FairMQLogger.cxx index 175166e9..aad0becd 100644 --- a/fairmq/FairMQLogger.cxx +++ b/fairmq/FairMQLogger.cxx @@ -12,42 +12,52 @@ * @author D. Klein, A. Rybalchenko */ -#include -#include - #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 #include #include +#include +#include class FairMQLogger { - public: - enum + public: + 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_ */