Elektron Message API Java Edition 3.5.X traces incoming messages to files only when XmlTraceToStd...

...out=1
EMA tracing of incoming messages with XmlTraceRead=1 to file(s) does not work properly.
Reactor read messages are written to files only when XmlTraceToFile=1, XmlTraceRead=1 and XmlTraceToStdout=1. Simultaneosly these messages logged to stdout as well.
It seems there is an error in the code, see https://github.com/Refinitiv/Real-Time-SDK/blob/206e4e5a3255da3afcfa75f5da151a8efef6de8e/Java/Eta/ValueAdd/src/main/java/com/refinitiv/eta/valueadd/reactor/Reactor.java#L4809
I guess it should be _reactorOptions.xmlTraceToFile() instead of _reactorOptions.xmlTracePing() in the if condition.
Documentation link: https://github.com/Refinitiv/Real-Time-SDK/blob/master/Java/Ema/Docs/EMAJ_ConfigGuide.pdf Page 12
RTDSK version is 3.7.3.0
To reproduce use the following XML configurations and compare the logs:
<?xml version="1.0" encoding="UTF-8"?><EmaConfig>
<ConsumerGroup>
<DefaultConsumer value="Consumer_0"/>
<ConsumerList>
<Consumer>
<Name value="Consumer_0"/>
<ChannelSet value="Channel_0"/>
<XmlTraceRead value="1"/>
<XmlTraceToFile value="1"/>
<XmlTraceFileName value="ema-trace"/>
<XmlTraceToMultipleFiles value="1"/>
<XmlTraceMaxFileSize value="100000"/>
</Consumer>
</ConsumerList>
</ConsumerGroup>
<ChannelGroup>
<ChannelList>
<Channel>
<Name value="Channel_0"/>
<Host value="localhost"/>
<Port value="14002"/>
</Channel>
</ChannelList>
</ChannelGroup>
</EmaConfig>
<?xml version="1.0" encoding="UTF-8"?><EmaConfig>
<ConsumerGroup>
<DefaultConsumer value="Consumer_0"/>
<ConsumerList>
<Consumer>
<Name value="Consumer_0"/>
<ChannelSet value="Channel_0"/>
<XmlTraceRead value="1"/>
<XmlTraceToStdout value="1"/>
<XmlTraceToFile value="1"/>
<XmlTraceFileName value="ema-trace"/>
<XmlTraceToMultipleFiles value="1"/>
<XmlTraceMaxFileSize value="100000"/>
</Consumer>
</ConsumerList>
</ConsumerGroup>
<ChannelGroup>
<ChannelList>
<Channel>
<Name value="Channel_0"/>
<Host value="localhost"/>
<Port value="14002"/>
</Channel>
</ChannelList>
</ChannelGroup>
</EmaConfig>
Answers
-
Hello @VadimVashkevich
Thank you for reaching out to us. I can replicate the same behavior with EMA Java 3.7.3.0 and ex100_MP_Streaming example. My EmaConfig.xml file is as follows:
<Consumer>
<!-- Name is mandatory -->
<Name value="Consumer_1"/>
<!-- Channel is optional: defaulted to "RSSL_SOCKET + localhost + 14002" -->
<!-- Channel or ChannelSet may be specified -->
<Channel value="Channel_1"/>
<!-- Dictionary is optional: defaulted to "ChannelDictionary" -->
<Dictionary value="Dictionary_2"/>
<XmlTraceToStdout value="0"/>
<XmlTraceToFile value="1"/>
<XmlTraceFileName value="C:\\logs\\api.log"/>
</Consumer>- With
<XmlTraceToFile value="1"/> + <XmlTraceToStdout value="0"/>
, the API logs only outgoing messages - With
<XmlTraceToFile value="1"/> + <XmlTraceToStdout value="1"/>
, the API logs both incoming and outgoint messages
I have created the GitHub - Issue #273 on your behalf on the RTSDK GitHub repository. You can track the issue or contact the RTSDK team directly via this https://github.com/Refinitiv/Real-Time-SDK/issues/273 link.
0 - With
Categories
- All Categories
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 33 Data Model Discovery
- 682 Datastream
- 1.4K DSS
- 613 Eikon COM
- 5.2K Eikon Data APIs
- 10 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 248 ETA
- 552 WebSocket API
- 37 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 275 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.8K Refinitiv Data Platform
- 622 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 26 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 191 TREP Infrastructure
- 228 TRKD
- 915 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 83 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛