- 5 minutes to read

Configuration of Nodinite Logging Agent - Pickup Service

This guide teaches how to configure the Nodinite Pickup Log Events Service Logging Agent so it can pick up JSON Log Events from any of the supported sources to achieve a true end-to-end Logging.

Configuration file overview

The configuration file (Settings.json), is in JSON format.

The default path is:

C:\Program Files\Nodinite\Logging Agent - Pickup Service\Settings.json

You must restart the Pickup Log Events Service Logging Agent for any changes to take effect.

Regardless of which Source you use as the Intermediate Storage, the following apply to all configurations:

Specific configurations

The following specific configurations exist:

General

The general section holds some global information that affects mostly the internal behaviour of the Pickup Log Events Service Logging Agent.

Property Description Value Example Comment
Environment The name for the type of environment this agent is running in Test, Prod, QA
Debug A flag that determines the amount of diagnostics information to write true or false (default) In a production environment, this value is ordinarily false
Version The internal version number for the configuration file 1.2.3.4 READ ONLY, this is internal information do NOT change this value manually!!!
CultureInfo format the output of date and so on SV-SE, EN-us Currently not implemented/honoured

Shared configuration

Property Description Value Example Comment
Enabled A flag used to disable or enable logging true or false This feature means that you don't have to remove the configuration to disable the pickup service temporarily
LogAPI The address to the Nodinite Log API https://localhost/Nodinite/Dev/LogAPI/ Change according to your setup
UseConfigurationDatabase A flag used to bypass the LogAPI true or false Use this option only for high throughput solutions. Enabling this feature may increase the overall load on the system
ConfigurationDatabaseConnectionString Connection string to Configuration database Server=localhost;Database=NodiniteConfig_Dev;Integrated Security=SSPI;Connection Timeout=60

Replace Rules

This is a shared section for many of the configuration options above ReplaceRules is an array, of Rules to update provided Endpoints with a new Name or Uri if they are dynamic with for example id:s

New 6.0.1.0 Features named groups and RegEx without a group which supports additional advanced use cases.

Property Description Value Example
Name The name of this entry to document purpose
ReplaceName A flag to indicate whether to fix the Endpoint Name, or not true (default) or false
ReplaceUri A flag to indicate whether to fix the Endpoint URI, or not true (default) or false
Pattern A RegEx pattern to match the value to replace. Note: Only the value in the first group is replaced unless you use named groups /([0-9]{4,})$
Group1Value The new value to write instead of the match. Do not enter a value here if you are using named groups {customerId}

ReplaceRules Examples

Value Pattern Group1Value Result
https://www.nodinite.com/int042/getCustomer/12345 /([0-9]{4,})$ {customerId} https://www.nodinite.com/int042/getCustomer/{CustomerId}
INT(101) 101 100 INT100
INT101 New 6.0.1.0 INT101 INT100 INT100
https://www.nodinite.com/api/envelopes/H1ZUP5uDh/documents/rJxZ8P5OP2/files/CDRS1QQ1U7ul_o7n/url?asObject=true#GET https://www.nodinite.com/api/envelopes/(?<envId>\\w+)/documents/(?<docId>\\w+)/files/(?<fileId>\\w+) https://www.nodinite.com/api/envelopes/{envId}/documents/{docId}/files/{fileId}/url?asObject=true#GET

If you do not configure ReplaceRules before deploying your solution, you may end up with an awful lot of Endpoints, contact our support to get help tidying up.

ReplaceRules JSON Examples

Below is a set of different possible configurations:

"ReplaceRules": [
        {
          "Name": "Fix endpoint uri according to RegEx, supports named groups",
          "ReplaceName": false,
          "ReplaceUri": true,
          "Pattern": "https://wwww\\.nodinite\\.com/api/envelopes/(?<envId>\\w+)/documents/(?<docId>\\w+)/files/(?<fileId>\\w+)",
          "Group1Value": ""
        },
        {
          "Name": "Fix Endpoint name according to RegEx, supports named groups",
          "ReplaceName": true,
          "ReplaceUri": false,
          "Pattern": "INT(101)",
          "Group1Value": "100"
        }
      ]

SQLServers

The SQLServers section is where you manage Microsoft SQL Server related sources.

SQLServers is an array of a SQLServer object. Each SQLServer object points to one Nodinite specific SQL Server table where the Log Agent should go look for log rows with the JSON Log Events.

Property Description Value Example Comment
Enabled A flag used to disable or enable logging true or false This feature means that you don't have to remove the configuration to disable the pickup service temporarily
LogAPI The address to the Nodinite LogAPI https://localhost/Nodinite/LogAPI/ Change according to your setup
UseConfigurationDatabase A flag used to bypass the LogAPI true or false Use this option only for high throughput solutions. Enabling this feature may increase the overall load on the system
ConfigurationDatabaseConnectionString Connection string to Configuration database Server=localhost;Database=NodiniteConfig_Dev;Integrated Security=SSPI;Connection Timeout=60
ConnectionString SQL Server Database Connection string Server=myServerAddress;Database=myDataBase;Integrated Security=SSPI;Connection Timeout=60
MaxRowsLimit The maximum number of rows to fetch on each loop 500 (default) Using larger values will impact the memory used
ReplaceRules Review the shared Replace Rules section for additional information

Example configuration file

In the Troubleshooting section, there is an example of a fully populated configuration file.

Next Step

JSON Log Event

Install Log Agent - Pickup Service Log Agents
Logging Service