question

Upvotes
Accepted
5 0 1 2

EMA programmatic configuration

Map config, map;
ElementList elements;

elements.addAscii ("DefaultConsumer", "Consumer_1");
map.addKeyAscii ("Consumer_1", MapEntry::AddEnum,
                 ElementList ().addAscii ("Logger", "Logger_1")
                               .complete ()).complete();
elements.addMap ("ConsumerList", map).complete ();
map.clear ();


config.addKeyAscii ("ConsumerGroup", MapEntry::AddEnum, elements);
elements.clear ();

map.addKeyAscii ("Logger_1", MapEntry::AddEnum,
                 ElementList ().addEnum ("LoggerType",     1) // stdout
                               .addEnum ("LoggerSeverity", 3) // errors
                               .complete ())
   .complete ();
elements.addMap ("LoggerList", map).complete ();
map.clear ();
config.addKeyAscii ("LoggerGroup", MapEntry::AddEnum, elements).complete ();

OmmConsumer consumer (OmmConsumerConfig ().username (user.c_str ())
                                          .host     (source.c_str ())
                                          .config   (config));

I would like to configure the EMA logger to output errors only and to stdout. However the code above causes the logger to output (to stdout) that it there is no logger configuration and defaults will be used - error see below.

Modifying the config to output to file, correctly outputs to file but error persists, albeit in the output file.

Can anyone say why the error below is logged?

The code above is a modified version of the EMA sample 421_MarketPrice_ProgrammaticConfig.

loggerMsg
    TimeStamp: ...
    ClientName: EmaConfig
    Severity: Error
    Text:    no configuration exists for consumer logger [LoggerGroup|LoggerList|Logger.Logger_1|]; will use logger defaults
loggerMsgEnd


elektronrefinitiv-realtimeelektron-sdkrrtema-apielektron-message-api
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

1 Answer

Upvotes
Accepted
11.3k 25 8 13

@marketdata

EMA prints this log message because it could not find Logger_1 from the EmaConfig.xml file. This is the current behavior that EMA prints out log message when EMA could not find parameters from EMAConfig.xml

The programmatic configuration should still work correctly, even though this error is generated. You can refer to this question.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Thanks for your answer.

Given my application works fine without a config file and only outputs an complains about the missing config file when the logger configuration is programmatically modified, I think this behaviour should be marked as a bug to be fixed.

Click below to post an Idea Post Idea