From b6c012c54e5d7d6eaba0a93973fb0c0649956862 Mon Sep 17 00:00:00 2001
From: g0dil <g0dil@wiback.org>
Date: Tue, 11 Aug 2009 21:02:35 +0000
Subject: [PATCH] PPI: Add log label to Logger module

---
 PPI/DebugModules.cti     | 12 +++++++++---
 PPI/DebugModules.hh      |  3 +++
 PPI/DebugModules.test.cc |  2 +-
 3 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/PPI/DebugModules.cti b/PPI/DebugModules.cti
index f9b90d539..9ab80f046 100644
--- a/PPI/DebugModules.cti
+++ b/PPI/DebugModules.cti
@@ -38,6 +38,11 @@ template <class Stream, class Area, class Level>
 prefix_ senf::ppi::module::debug::Logger<Stream,Area,Level>::Logger()
 {}
 
+template <class Stream, class Area, class Level>
+prefix_ senf::ppi::module::debug::Logger<Stream,Area,Level>::Logger(std::string label)
+    : label_ (label+"\n")
+{}
+
 ////////////////////////////////////////
 // private members
 
@@ -46,9 +51,10 @@ prefix_ void
 senf::ppi::module::debug::Logger<Stream,Area,Level>::v_handlePacket(Packet const & packet)
 {
     SENF_LOG_BLOCK_TPL((Stream)(Area)(Level)({
-        packet.dump(log);
-        hexdump(packet.last().data().begin(), packet.last().data().end(),log);
-    }));
+                log << label_;
+                packet.dump(log);
+                hexdump(packet.last().data().begin(), packet.last().data().end(),log);
+            }));
 }
 
 ///////////////////////////////cti.e///////////////////////////////////////
diff --git a/PPI/DebugModules.hh b/PPI/DebugModules.hh
index f382dd6bf..27212c658 100644
--- a/PPI/DebugModules.hh
+++ b/PPI/DebugModules.hh
@@ -275,9 +275,12 @@ namespace debug {
         SENF_PPI_MODULE(Logger);
     public:
         Logger();
+        explicit Logger(std::string label);
 
     private:
         virtual void v_handlePacket(Packet const & packet);
+
+        std::string label_;
     };
 
 }}}}
diff --git a/PPI/DebugModules.test.cc b/PPI/DebugModules.test.cc
index 76a1d4509..edd29b817 100644
--- a/PPI/DebugModules.test.cc
+++ b/PPI/DebugModules.test.cc
@@ -134,7 +134,7 @@ BOOST_AUTO_UNIT_TEST(logSink)
     logTarget.route<senf::log::Debug,senf::log::VERBOSE>();
 
     debug::ActiveFeederSource source;
-    debug::Logger<> logger;
+    debug::Logger<> logger ("Prefix text");
 
     ppi::connect(source,logger);
     senf::PacketData::byte data[] = { 0x13u, 0x24u, 0x35u };
-- 
GitLab