X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FLogger%2FTarget.cci;h=da1ee4ed73f7008614f32b997387ef7ca0dd58f6;hb=82ad2ed94c12c3e53097fef92978de8c28239fab;hp=e7b240922e5314df0ac8c2a8d98e47e12008c086;hpb=012a592d56be453719b7fbba492b56ae804c048f;p=senf.git diff --git a/Utils/Logger/Target.cci b/Utils/Logger/Target.cci index e7b2409..da1ee4e 100644 --- a/Utils/Logger/Target.cci +++ b/Utils/Logger/Target.cci @@ -94,6 +94,25 @@ prefix_ senf::log::Target::action_t senf::log::Target::RoutingEntry::action() /////////////////////////////////////////////////////////////////////////// // senf::log::detail::TargetRegistry +prefix_ void senf::log::detail::TargetRegistry::write(StreamBase const & stream, + AreaBase const & area, unsigned level, + std::string msg) +{ + area.write((*timeSource_)(), stream, level, msg); +} + +prefix_ void senf::log::detail::TargetRegistry::timeSource(std::auto_ptr source) +{ + timeSource_.reset(source.release()); +} + +//////////////////////////////////////// +// private members + +prefix_ senf::log::detail::TargetRegistry::TargetRegistry() + : timeSource_(new SystemTimeSource()) +{} + prefix_ void senf::log::detail::TargetRegistry::registerTarget(Target * target) { targets_.insert(target); @@ -104,6 +123,14 @@ prefix_ void senf::log::detail::TargetRegistry::unregisterTarget(Target * target targets_.erase(target); } +/////////////////////////////////////////////////////////////////////////// +// namespace senf::log members + +prefix_ void senf::log::timeSource(std::auto_ptr source) +{ + detail::TargetRegistry::instance().timeSource(source); +} + /////////////////////////////cci.e/////////////////////////////////////// #undef prefix_