Document Storage

Business Logger documents are stored in an Elasticsearch server. Elasticsearch provides highly performant searching capabilities with large datasets. Business Logger documents (i.e. BizLoggerDoc) are stored in JSON format in Elasticsearch. You can also configure your MessageDetail records (see the "Message Detail" section) to be stored in Elasticsearch instead of Oracle to improve scalability & searchability.

Elasticsearch stores the document JSON in a logical storage called an "Index". While storing each document in an index, it parses each data value and generates terms that are used while performing search operations. This process is called "indexing". The Elasticsearch server takes some time to index new documents. Therefore, the uploaded BizLogger documents are only available in search results after some time (approximately 1 minute, but maybe faster or slower depending on load).

The URL for an Elasticsearch instance can be provided at the time of installation in node.properties as:

# Set to true to enable BizLogger
bizlogger.enabled=true

# URL of Elasticsearch server
bizlogger.esurl=http://esclient.elogex.com:9200

# Set to true to save the MessageDetail on Elasticsearch server
# This property is used only when bizlogger.enabled is true
bizlogger.store.message.details=true

When expanded into InstanceConfig.xml, it will look like this:

<BizLoggerConfig storeMessageDetails="true">
<Enabled>true</Enabled>
<ESUrl>http://esclient.elogex.com:9200</ESUrl>
<ESIndexPrefix>ES</ESIndexPrefix>
<ESIndexCount>50</ESIndexCount>
<QueueSize>1000</QueueSize>
<QueueConsumerThreadCount>4</QueueConsumerThreadCount>
<DaysToKeepDocuments>30</DaysToKeepDocuments>
</BizLoggerConfig>