summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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");
+}
+