Skip to content
Snippets Groups Projects
Commit 6e983829 authored by g0dil's avatar g0dil
Browse files

Utils/Logger: BUGFIX: add SENF_LOG_TPL variants which work with templatized log parameters

parent 1395af06
No related branches found
No related tags found
No related merge requests found
......@@ -48,7 +48,7 @@ template <class Stream, class Area, class Level>
prefix_ void senf::ppi::module::debug::LogSink<Stream,Area,Level>::request()
{
Packet packet (input());
SENF_LOG_BLOCK((Stream)(Area)(Level)({
SENF_LOG_BLOCK_TPL((Stream)(Area)(Level)({
packet.dump(log);
hexdump(packet.last().data().begin(), packet.last().data().end(),log);
}));
......
......@@ -36,7 +36,7 @@ namespace {
std::stringstream logstream;
}
#define SENF_LOG_CONF ((senf::log::Debug)(_)(VERBOSE))
#define SENF_LOG_CONF (( (senf)(log)(Debug), (_), VERBOSE ))
#include "../Packets/Packets.hh"
#include "DebugModules.hh"
......
......@@ -51,6 +51,10 @@
SENF_LOG_BLOCK_( SENF_LOG_MERGE_PARAMETERS(BOOST_PP_SEQ_POP_BACK(args)), \
{ log << BOOST_PP_SEQ_ELEM(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(args)),args); })
#define SENF_LOG_TPL(args) \
SENF_LOG_BLOCK_( SENF_LOG_MERGE_PARAMETERS_TPL(BOOST_PP_SEQ_POP_BACK(args)), \
{ log << BOOST_PP_SEQ_ELEM(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(args)),args); })
/** \brief Enable block based on logging parameters
This macro is like SENF_LOG, however instead of writing a simple message, this macro allows
......@@ -68,6 +72,10 @@
SENF_LOG_BLOCK_( SENF_LOG_MERGE_PARAMETERS(BOOST_PP_SEQ_POP_BACK(args)), \
BOOST_PP_SEQ_ELEM(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(args)),args))
#define SENF_LOG_BLOCK_TPL(args) \
SENF_LOG_BLOCK_( SENF_LOG_MERGE_PARAMETERS_TPL(BOOST_PP_SEQ_POP_BACK(args)), \
BOOST_PP_SEQ_ELEM(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(args)),args))
#define SENF_LOG_BLOCK_(parameters, block) \
do { \
if (parameters::compile_enabled && parameters::enabled()) { \
......
......@@ -126,6 +126,11 @@ namespace detail {
senf::log::detail::empty, \
(SENFLogDefaultStream)(SENFLogDefaultArea)(SENFLogDefaultLevel)args) >
#define SENF_LOG_MERGE_PARAMETERS_TPL(args) \
senf::log::detail::Parameters< typename SENF_LOG_MERGE_PARAMETERS_I( \
senf::log::detail::empty, \
(SENFLogDefaultStream)(SENFLogDefaultArea)(SENFLogDefaultLevel)args) >
///////////////////////////////ih.e////////////////////////////////////////
#endif
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment