summaryrefslogtreecommitdiffstats
path: root/src/logger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/logger.cpp')
-rw-r--r--src/logger.cpp34
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;
+}