Boost logo

Boost Users :

Subject: Re: [Boost-users] [Log] How to use?
From: Oskar Nordquist (oskar.nordquist_at_[hidden])
Date: 2010-08-20 13:28:02


2010/8/20 Olivier Tournaire <olitour_at_[hidden]>

> 2010/8/20 Oskar Nordquist <oskar.nordquist_at_[hidden]>
>
> Hi,
>>
>> Just a wild guess:
>>
>> Since the difference between your test program and the Boost example is
>> that you are doing all the preparations in the constructor, whilst Boost
>> example has everything in the main() scope. My guess is something goes out
>> of scope at the end of the constructor, and some attribute is unregistered
>> and thus generates "missing attribute" exception.
>>
>
> Maybe it is a problem with the singleton? No one experienced such a
> problem?
> I tried a really simple program found in the documentation (
> http://boost-log.sourceforge.net/libs/log/doc/html/log/detailed/attributes.html#log.detailed.attributes.timer)
> which uses a class. The result is the same: it throws the same exception in
> the destructor.
>

I tried it on MSVC 10 as well and it throws the same exception. I even did a
boolean formatter checking if the attribute exists:

    backend->set_formatter(
        fmt::stream
            << fmt::if_(flt::has_attr("Duration"))
            [
                fmt::stream << "Duration: " << fmt::attr("Duration")
            ]
            << "\tMsg: " << fmt::message());

Still throws the same exception.

I switched the attribute to a attrs::counter<int> and it works as expected.

Seems like attrs::timer is broken!



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