X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FLogger%2FTarget.cc;h=2d4ded96cf2d4c25f3fea1cfe067bd24089d71dc;hb=c7512677a51c8ba551ab23611d6e99bdc7a7fdfa;hp=01864ec65215595ce635b85179b1f036641b77c2;hpb=82ad2ed94c12c3e53097fef92978de8c28239fab;p=senf.git diff --git a/Utils/Logger/Target.cc b/Utils/Logger/Target.cc index 01864ec..2d4ded9 100644 --- a/Utils/Logger/Target.cc +++ b/Utils/Logger/Target.cc @@ -28,6 +28,7 @@ // Custom includes #include +#include "ConsoleTarget.hh" //#include "Target.mpp" #define prefix_ @@ -135,6 +136,8 @@ prefix_ void senf::log::Target::route(detail::StreamBase const * stream, rib_.insert(i, RoutingEntry(stream, area, level, action)); if (action == ACCEPT) updateRoutingCache(stream, area); + // This disables the initial fallback routing + detail::TargetRegistry::instance().routed(); } prefix_ void senf::log::Target::unroute(detail::StreamBase const * stream, @@ -199,6 +202,20 @@ prefix_ void senf::log::Target::write(boost::posix_time::ptime timestamp, } /////////////////////////////////////////////////////////////////////////// +// senf::log::detail::TargetRegistry + +prefix_ void senf::log::detail::TargetRegistry::write(StreamBase const & stream, + AreaBase const & area, unsigned level, + std::string msg) +{ + if (fallbackRouting_) + static_cast(ConsoleTarget::instance()).v_write( + (*timeSource_)(), stream.v_name(), area.v_name(), level, msg ); + else + area.write( (*timeSource_)(), stream, level, msg ); +} + +/////////////////////////////////////////////////////////////////////////// // senf::log::TimeSource prefix_ senf::log::TimeSource::~TimeSource()