prefix_ senf::log::Target::~Target()
{
while( ! rib_.empty()) {
- // This is terribly slow but simplifies the area cache handling and removing a target should
- // be quite seldom
+ // This is slow but simplifies the area cache handling and removing a target should be
+ // relatively seldom
RIB::reverse_iterator i (rib_.rbegin());
unroute(i->stream_, i->area_, i->level_, i->action_);
}
AreaBase const & area, unsigned level,
std::string msg)
{
- if (fallbackRouting_)
- static_cast<Target &>(ConsoleTarget::instance()).v_write(
- (*timeSource_)(), stream.v_name(), area.v_name(), level, msg );
+ if (fallbackRouting_) {
+ if (level >= stream.defaultRuntimeLimit())
+ static_cast<Target &>(ConsoleTarget::instance()).v_write(
+ (*timeSource_)(), stream.v_name(), area.v_name(), level, msg );
+ }
else
area.write( (*timeSource_)(), stream, level, msg );
}