Hello,

I use basic_event_log_backend according to documentation - I add formatters to events with event_composer:
    sinks::event_log::event_composer composer(
        sinks::event_log::direct_event_id_mapping<int>("EventId")
    );
 
    composer[MSG1] % expr::attr<WORD>("Tag1");
    composer[MSG2] % expr::attr<DWORD>("Tag2");     composer[MSG3] % expr::attr<std::string>("Tag3");     backend->set_event_composer(composer);


Unfortunately event log entries in event viewer are incomplete - i.e. there are still "%n"
placeholders instead of their values. From what I have found while inspecting the code
with debugger it seems that
event_map_reference& operator% (FormatterT const& fmt) is never hit - so m_EventMap in composer is empty. I added a method that works the same way
as mentioned operator:

            templatetypename FormatterT >             event_map_reference& add_formatter(FormatterT const &fmt)             {                 m_Composer = m_Owner.add_formatter(m_ID, m_Composer, formatter_type(fmt));                 return *this;             }

 and call it explicitly, so the code looks like that:

    composer[MSG1].add_formatter(expr::attr<WORD>("Tag1"));     composer[MSG2].add_formatter(expr::attr<DWORD>("Tag2"));     composer[MSG3].add_formatter(expr::attr<std::string>("Tag3"));


Now m_EventMap has three items - and I get empty strings instead of "%n" in event viewer. 
I pass the tag values with boost macro, i.e.:

BOOST_LOG_SCOPED_THREAD_TAG("Tag3", std::string("value"));

I am using Visual Studio 2010 compiler. Any ideas?
Regards,
Konrad.