PPI: Add log label to Logger module
g0dil [Tue, 11 Aug 2009 21:02:35 +0000 (21:02 +0000)]
git-svn-id: https://svn.berlios.de/svnroot/repos/senf/trunk@1288 270642c3-0616-0410-b53a-bc976706d245

PPI/DebugModules.cti
PPI/DebugModules.hh
PPI/DebugModules.test.cc

index f9b90d5..9ab80f0 100644 (file)
@@ -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///////////////////////////////////////
index f382dd6..27212c6 100644 (file)
@@ -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_;
     };
 
 }}}}
index 76a1d45..edd29b8 100644 (file)
@@ -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 };