question

Upvotes
Accepted
3 0 0 1

.Net EMA API Log

I am using .net EMA API to load the Instrument Pricing in Azure Function and trying to capture the underlying logs from the API. I tried using Logger section in the config file but it is not capturing events at the RIC level, I am able to capture high level events.

#technologyeikon-.net-api
icon clock
10 |1500

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

Upvotes
Accepted
87.7k 294 53 79

@harish.lalwani

Thank you for reaching out to us.

I checked the EMA .NET configuartion guide and found that it supports logging with the following levels.

Possible values are:
• LoggerSeverity::Verbose (0)
• LoggerSeverity::Success (2)
• LoggerSeverity::Warning (3)
• LoggerSeverity::Error (4)
• LoggerSeverity::NoLogMsg (5)

The Verbose level doesn't capture events at the RIC level. If you would like to see the raw messages, you can use the XmlTraceToStdout or XmlTraceToFile configuration.

        <Consumer>         
            <Name value="Consumer_1"/>
            <Channel value="Channel_1"/>
            <Logger value="Logger_1"/>
            <Dictionary value="Dictionary_2"/>
            <XmlTraceToStdout value="1"/>
        </Consumer>

The trace messages look like this:

<!-- Incoming Reactor message -->
<!-- Rssl Channel
    scktChannel: 127.0.0.1:14002
    connected: True
    state: ACTIVE
    connectionType: SOCKET
    clientIP: 
    clientHostname: 
    pingTimeout: 30
    majorVersion: 14
    minorVersion: 1
    protocolType: RWF
    userSpecObject: LSEG.Ema.Access.ChannelInfo
 -->
<!-- 7/30/2024 12:57:56 PM -->


<!-- rwfMajorVer="14" rwfMinorVer="1" -->
<UPDATE domainType="MARKET_PRICE" streamId="3" containerType="FIELD_LIST" flags="0x90 (HAS_SEQ_NUM|DO_NOT_CONFLATE)" updateType="0" seqNum="63998" dataSize="13">
        <dataBody>
                <fieldList flags="0x08 (HAS_STANDARD_DATA)">
                        <fieldEntry fieldId="3275" data="0C6D"/>
                        <fieldEntry fieldId="3284" data="0C4A"/>
                </fieldList>
        </dataBody>
</UPDATE>

However, enbling XML trace will impact the performance of the application.

icon clock
10 |1500

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

Upvotes
3 0 0 1

Thanks @Jirapongse for your response.

If I enable I get following error logged in the file XmlTraceToFile .If I remove this I am at least able to capture other level of logs.

Severity: Error Text: Unknown Consumer entry element: XmlTraceToFile in Consumer_1


Also can you share the .net configuration guide link.


icon clock
10 |1500

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

Upvotes
87.7k 294 53 79

@harish.lalwani

The configuration looks like this:

    <ConsumerList>
        <Consumer>        
            <Name value="Consumer_1"/>
            <Channel value="Channel_1"/>
            <Logger value="Logger_1"/>
            <Dictionary value="Dictionary_2"/>
            <XmlTraceToFile value="1"/>
        </Consumer>

I am using RTSDK-2.2.0.L1.CSharp.rrg.

You can check all available configurations in the EMACSharp_ConfigGuide.pdf file in the package.

icon clock
10 |1500

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

Upvotes
3 0 0 1

Thank you @Jirapongse

In .net version the property name is changed to LoggerType

• LoggerType::File: The Enterprise Message API logs to

the file specified in the parameter FileName.

• LoggerType::Stdout: The Enterprise Message API logs to

stdout.

icon clock
10 |1500

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

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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