- 3 minutes to read

How to enable Logging from Apache Camel solutions to Nodinite

Learn how to perform Asynchronous Logging from Apache Camel to Nodinite.

You must add custom logging code to your Apache Camel solution to enable logging business transactions to Nodinite.

graph LR subgraph "Apache Camel" roBroker(fal:fa-brackets-curly Custom Code)-->roSink(fal:fa-file-export Intermediate storage ) end subgraph "Nodinite instance" roPS(fal:fa-truck-pickup Pickup Service) -->roNI(fal:fa-cloud-download Log API) roSink --> roPS end

Enable self-service Log Views for your business by implementing the following:
Payload logging
Context logging (key-value)
Selected flows (any number)

Step by step guide

Follow the steps outlined below.

1. Create the event

In your flows, make sure to add custom logging (regardless of the target). Typically this is done using Log4J or other similar frameworks depending on your design, policy and needs

TIP: Make sure your Logging strategy is not vendor-specific. Your Logging logic should be easy to enable/disable and it should be possible to manage the log destinations without redesigning the solutions already in production.

graph LR subgraph "Systems Integrations Solutions" roStrategy(fal:fa-lightbulb-on Logging Strategy) --> roBroker{fal:fa-brackets-curly Reusable
Generic Logging logic} roBroker --> |Nodinite JSON Log Event|roSink(fal:fa-file-export Intermediate storage ) roBroker -.-> |"The other format(s)"| ro2["Other Log destination(s)"] end subgraph "Nodinite instance" roPS(fal:fa-truck-pickup Pickup Service) -->roNI(fal:fa-cloud-download Log API) roSink --> roPS end

2. Convert the logged event to Nodinite format

You must translate your logs to Nodinite JSON Log Event.

To uniquely identify the Log Agent, you must provide a LogAgentValueId. To separate Logging from the different environments (e.g. Prod, Test, QA); It would be best to allow the LogAgentValueId (mandatory number) to be a configurable part of the Apache Camel solution.

Make sure to get the best out of the information you have. Map existing properties to the standard properties and attach context and payload as needed

3. Send Event to intermediate storage

The Nodinite Pickup Service can fetch the logged events from many intermediate storages.

Your intermediate storage should be close to the Apache Camel installation (i.e. local) and highly available.

Do not send your logged events synchronously to the Nodinite Log API. You should honour the asynchronous pattern using the Nodinite Pickup Service

Asynchronous Logging

4. Move logged events using the Nodinite Pickup Service

The pickup Service fetches Log Events from the following intermediate sources:

Source Description Recommended Monitoring Agent External Link Configuration
ActiveMQ Fetch Log Events from ActiveMQ/ActiveMQ Artemis queues Message Queuing Agent Apache NMS ActiveMQ Configuration
AnypointMQ Fetch Log Events from MuleSoft Cloudhub AnypointMQ platform Message Queuing Agent AnypointMQ Configuration
Azure Event Hub Fetch Log Events from EventHub Azure Monitoring agent EventHub Configuration
Azure ServiceBus Fetch Log Events from Azure Service Bus Message Queuing Agent Azure Service Bus Configuration
Disk / Folder Fetch Log Events from file folders and SMB enabled shares File Monitoring Agent Configuration
Microsoft MSMQ Fetch Log Events from Microsoft MSMQ Message Queuing Agent Configuration
Microsoft SQL Server Fetch Log Events from Microsoft SQL Server Database Monitoring Agent Configuration
PostgreSQL Fetch Log Events from PostgreSQL database instances Database Monitoring Agent PostgreSQL Configuration

Missing a source? please contact our support, support@nodinite.com, and we will build it for you(!).

5. Enable self-service from within Nodinite

Now that you have data logged inside Nodinite, you can create Role based Log Views and invite your business to share insights and data from your logging.

Frequently asked questions

Apache Camel Logging uses the Nodinite Pickup Service.

Additional solutions to common problems and the FAQ for the Nodinite Pickup Service exists in the Pickup Troubleshooting user guide.

How do I get started?

First, read our Asynchronous Logging user guide.

How do I access the Logged data?

Access to logged data for Users is provided by the use of Log Views with Role-based security.

Next Step

Install Nodinite Pickup Service

Log Views
Asynchronous Logging