File and Kafka Message Format

All error log and trace files except bvr.out, brm.out and bam.out contain a common message format. If the BVR component is configured to send kafka messages, a common JSON format is used (see later in this section)

<date> <time> <call> <component> <thread - thread_id> <trace_id> <text>

The message fields are

Table 1.
Name Description
date date in day/month/year format (this is NOT locale specific)
time time in locale timezone
call call index of the call
component internal component name within BVR, BRM or BAM
thread name of thread generating this message
thread_id index of thread generating this message
trace_id trace id of the message
text text of the message

If a message is unrelated to a specific call the <call> will be ########### otherwise the <call> will contain a unique call index. If the call index is present it will be preceded with a short code (VC, RC or TC). These denote which aspect of the call the message relates to. The short codes are VC (voice/base call), RC (reco), and TC (TTS).

All ERROR, WARNING and INFO messages contain the word "ERROR", "WARNING" and "INFO" prepended to the <text>.

An example warning would look like

2015/10/28 10:02:43.647 ########### CONFIG [main - 1] [T000052] WARNING Invalid configuration parameter(s) in configuration file: {invalid_var=Invalid}

JSON Format

Table 2.
Name Description
accountID The account ID of the owner of the application that is logging the message. May be absent in trace/error messages.
applicationID The application ID of the application that is logging the message. May be absent in trace/error messages.
callIndex The call index of the internal call representation in BVR. Useful for cross-referencing with trace for debugging and for distinguishing calls from each other. May be absent if the trace is not directly associated with a call.
content The actual message being traced.
thread The thread name that executed the trace statement.
timestamp The local timestamp at which the trace point occurred. The format is consistent across trace files and kafka topics.
traceComponent The area of trace that the message originated from. Trace components determine how much detail is traced.
traceID The trace ID of the line of code being run in BVR.
traceLevel The level of severity attached to the message. Messages below the level of detail that their trace component is set to are not traced.

Below is an example of the format in action. Note that all data fields are strings and may be treated accordingly.

 {
        "accountID":"0x0",
        "applicationID":"0x10000000",
        "callIndex":"VC091431F700000001",
        "content":"CALL - Summary - Call Duration: 3s. TTS Duration: 0s. ASR Duration: 0s",
        "thread":"Call dispatcher 1  -  239",
        "timestamp":"2018/08/16 17:00:22.904",
        "traceComponent":"CALL",
        "traceID":"[T003323]",
        "traceLevel":"TRACE"
}