Boost logo

Boost Users :

Subject: [Boost-users] Log: [Bug] Setting attribute makes log entry disappear
From: Florian Lindner (mailinglists_at_[hidden])
Date: 2015-10-12 10:44:34


Hello,

I have a tracer, that should log going in and out of a function:

class Tracer
{
public:
  Tracer(Logger logger, std::string function, std::string file)
    :
    _logger(logger),
    _function(function),
    _file(file)
  {}
  
  ~Tracer()
  {
    using namespace boost::log;
    // attribute_cast<attributes::mutable_constant<int>>(core::get()->get_global_attributes()["Line"]).set(1);
    attribute_cast<attributes::mutable_constant<std::string>>(core::get()->get_global_attributes()["File"]).set(_file);
    attribute_cast<attributes::mutable_constant<std::string>>(core::get()->get_global_attributes()["Function"]).set(_function);
    BOOST_LOG_SEV(_logger, trivial::severity_level::trace) << "Leaving " << _function;
  }

private:
  Logger _logger;
  std::string _function;
  std::string _file;
};

This works fine, but as soon as I uncomment the line that sets the Line attribut I don't get any Leaving messages anymore.

The attributes are added beforehand like that:

    using namespace boost::log;
    add_common_attributes();
    core::get()->add_global_attribute("Scope", attributes::named_scope());
    core::get()->add_global_attribute("Rank", attributes::constant<int>(5));
    core::get()->add_global_attribute("Line", attributes::mutable_constant<int>(5));
    core::get()->add_global_attribute("File", attributes::mutable_constant<std::string>(""));
    core::get()->add_global_attribute("Function", attributes::mutable_constant<std::string>(""));

Setting all other attributes, similiar to Line works fine. I'm puzzled because Line does not seem to be a reserved name, it works somewhere else and the boost::log sources reveal no relevant usages of that name.

What could be the problem here? I'm happy to send anyone the complate code (approx. 150 lines in total)

Thanks!
Florian


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net