// Copyright © 2010-2012 b0ris //. // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. //. // 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #ifndef LOG_H #define LOG_H enum LogLevelType { TraceLevel = 0, DebugLevel, InfoLevel, WarnLevel, ErrorLevel, FatalLevel }; #ifdef DEBUG #include class Logger { public: static LogLevelType LogLevel; static void Trace(std::string msg, ...); static void Debug(std::string msg, ...); static void Info(std::string msg, ...); static void Warn(std::string msg, ...); static void Error(std::string msg, ...); static void Fatal(std::string msg, ...); static void Log(LogLevelType logLevel, std::string msg, ...); private: static void Log(LogLevelType logLevel, std::string msg, va_list arsg); }; #else class Logger { public: static LogLevelType LogLevel; static void Trace(std::string msg, ...) {} static void Debug(std::string msg, ...) {} static void Info(std::string msg, ...) {} static void Warn(std::string msg, ...) {} static void Error(std::string msg, ...) {} static void Fatal(std::string msg, ...) {} static void Log(LogLevelType logLevel, std::string msg, ...) {} }; #endif #endif