diff options
-rw-r--r-- | icetray/icetray/logWriterConsole.cpp | 25 | ||||
-rw-r--r-- | icetray/unittests/testIceTrayLogger.cpp | 7 |
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"); +} + |