From 26b0e592818b02304a7702e9108e77bcfe8f7439 Mon Sep 17 00:00:00 2001
From: James Fowler <james@openseaconsulting.com>
Date: Wed, 20 Jan 2016 13:37:00 -0500
Subject: [PATCH] oops... forgot a file

---
 g13_log.cc | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)
 create mode 100644 g13_log.cc

diff --git a/g13_log.cc b/g13_log.cc
new file mode 100644
index 0000000..c5b8634
--- /dev/null
+++ b/g13_log.cc
@@ -0,0 +1,48 @@
+#include "g13.h"
+#include <fstream>
+
+#include <boost/log/sources/severity_feature.hpp>
+#include <boost/log/sources/severity_logger.hpp>
+#include <boost/log/core/core.hpp>
+#include <boost/log/attributes.hpp>
+#include <boost/log/trivial.hpp>
+#include <boost/log/expressions.hpp>
+#include <boost/log/utility/setup.hpp>
+#include <boost/log/utility/setup/console.hpp>
+#include <boost/log/expressions/formatters/stream.hpp>
+#include <boost/log/support/date_time.hpp>
+
+using namespace std;
+
+namespace G13 {
+
+
+void G13_Manager::set_log_level( ::boost::log::trivial::severity_level lvl ) {
+    boost::log::core::get()->set_filter
+    (
+    		::boost::log::trivial::severity >= lvl
+    );
+    G13_OUT( "set log level to " << lvl );
+}
+
+void G13_Manager::set_log_level( const std::string &level ) {
+
+	#define CHECK_LEVEL( L ) 												\
+		if( level == BOOST_PP_STRINGIZE(L) ) {								\
+			set_log_level( ::boost::log::trivial::L );						\
+			return;															\
+		}																	\
+
+	CHECK_LEVEL( trace );
+	CHECK_LEVEL( debug );
+	CHECK_LEVEL( info );
+	CHECK_LEVEL( warning );
+	CHECK_LEVEL( error );
+	CHECK_LEVEL( fatal );
+
+	G13_LOG( error, "unknown log level" << level );
+}
+
+} // namespace G13
+
+