summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2017-06-21 22:15:30 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2017-06-21 22:15:30 +0100
commit5d637ebc471df7dd5f32622215bc724e081b5adf (patch)
tree76fa315a6e253813ef10a6667370c66917823876
parentAdd wrapper for creating a logger based on a template argument/type (diff)
downloadicetray-5d637ebc471df7dd5f32622215bc724e081b5adf.tar.bz2
icetray-5d637ebc471df7dd5f32622215bc724e081b5adf.tar.xz
icetray-5d637ebc471df7dd5f32622215bc724e081b5adf.zip
Add a basic console writer
-rw-r--r--icetray/icetray/logWriterConsole.cpp25
-rw-r--r--icetray/unittests/testIceTrayLogger.cpp7
2 files changed, 32 insertions, 0 deletions
diff --git a/icetray/icetray/logWriterConsole.cpp b/icetray/icetray/logWriterConsole.cpp
new file mode 100644
index 0000000..06c72eb
--- /dev/null
+++ b/icetray/icetray/logWriterConsole.cpp
@@ -0,0 +1,25 @@
+#include <logWriter.h>
+#include "logger.h"
+#include <compileTimeFormatter.h>
+#include <slicer/modelPartsTypes.h>
+
+namespace IceTray {
+ namespace Logging {
+ AdHocFormatter(LogMsg, "%?: %?: %?\n");
+ class ConsoleLogWriter : public AbstractLogWriter {
+ public:
+ ConsoleLogWriter(Ice::Properties * p) :
+ AbstractLogWriter("logging.console", p)
+ {
+ }
+
+ void message(LogLevel priority, const std::string & domain, const std::string & message, const Ice::Current &) override
+ {
+ LogMsg::write(priority < WARNING ? std::cerr : std::cout,
+ Slicer::ModelPartForEnum<LogLevel>::lookup(priority), domain, message);
+ }
+ };
+ FACTORY(ConsoleLogWriter, LogWriterFactory);
+ }
+}
+
diff --git a/icetray/unittests/testIceTrayLogger.cpp b/icetray/unittests/testIceTrayLogger.cpp
index f051a58..b7c3c49 100644
--- a/icetray/unittests/testIceTrayLogger.cpp
+++ b/icetray/unittests/testIceTrayLogger.cpp
@@ -290,3 +290,10 @@ BOOST_AUTO_TEST_CASE( getLoggerForType )
BOOST_AUTO_TEST_SUITE_END();
+BOOST_AUTO_TEST_CASE( console )
+{
+ IceTray::Logging::LogWriterPtr lwp =
+ IceTray::Logging::LogWriterFactory::createNew("ConsoleLogWriter", NULL);
+ lwp->message(DEBUG, "some.domain", "some message");
+}
+