- 0 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.

Tip

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.

Important

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 Nodinite Pickup Service fetches Log Events from many intermediate storages. Consume the Log Events from any of these that fit your purpose.

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