--- /dev/null
+#include <iostream>
+#include <string>
+
+#include "scd_logging.h"
+
+static scd_loglevel _curr_level = SCD_INFO;
+
+void scd_log(const scd_loglevel &level, const string &str)
+{
+ std::ostream &out = std::clog;
+
+ if (_curr_level > level)
+ return;
+
+ switch(level)
+ {
+ case SCD_DEBUG:
+ out << "debug: ";
+ break;
+ case SCD_INFO:
+ out << "info: ";
+ break;
+ case SCD_WARN:
+ out << "warn: ";
+ break;
+ case SCD_ERROR:
+ out << "error: ";
+ break;
+ default:
+ out << "unknown: ";
+ break;
+ }
+
+ out << str << std::endl;
+}
+
+void scd_set_loglevel(const scd_loglevel &level)
+{
+ _curr_level = level;
+}