// $Id$
//
-// Copyright (C) 2007
-// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
-// Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
+// Copyright (C) 2007
+// Fraunhofer Institute for Open Communication Systems (FOKUS)
+// Competence Center NETwork research (NET), St. Augustin, GERMANY
// Stefan Bund <g0dil@berlios.de>
//
// This program is free software; you can redistribute it and/or modify
///////////////////////////////cti.p///////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
-// senf::ppi::module::debug::LogSink<Stream,Area,level>
+// senf::ppi::module::debug::Logger<Stream,Area,level>
-template <class Stream, class Area, senf::log::Level level>
-prefix_ senf::ppi::module::debug::LogSink<Stream,Area,level>::LogSink()
-{
- noroute(input);
- input.onRequest(&LogSink::request);
-}
+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
-template <class Stream, class Area, senf::log::Level level>
-prefix_ void senf::ppi::module::debug::LogSink<Stream,Area,level>::request()
+template <class Stream, class Area, class Level>
+prefix_ void
+senf::ppi::module::debug::Logger<Stream,Area,Level>::v_handlePacket(Packet const & packet)
{
- Packet packet (input());
- SENF_LOG_BLOCK((Stream)(Area)(level)({
- packet.dump(log);
- hexdump(packet.last().data().begin(), packet.last().data().end(),log);
- }));
+ SENF_LOG_BLOCK_TPL((Stream)(Area)(Level)({
+ log << label_;
+ packet.dump(log);
+ hexdump(packet.last().data().begin(), packet.last().data().end(),log);
+ }));
}
///////////////////////////////cti.e///////////////////////////////////////