diff options
Diffstat (limited to 'src/logger.cpp')
-rw-r--r-- | src/logger.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/logger.cpp b/src/logger.cpp new file mode 100644 index 0000000..691c6cf --- /dev/null +++ b/src/logger.cpp @@ -0,0 +1,34 @@ +#include "logger.h" + +logger* logger::singletonInstance_ = 0; + +logger::logger(std::string filename) { + logger::log_file_.open(filename.c_str(), std::ios::out); + if(logger::log_file_.is_open()) { + singletonInstance_ = this; + } +} + +logger::~logger(void) { + if(log_file_.is_open()) { + log_file_.close(); + } + singletonInstance_ = 0; +} + +logger *logger::get_instance(void) { + if(singletonInstance_ != 0) { + return singletonInstance_; + } + return NULL; +} + +bool logger::log(std::string msg) { + boost::mutex::scoped_lock lock(log_lock_); + if(log_file_.is_open()) { + log_file_ << msg << std::endl; + log_file_.flush(); + return true; + } + return false; +} |