- 2 minutes to read

Asynchronous logging with Nodinite

Enable reliable end-to-end messaging using asynchronous message logging pattern and avoid dependencies and overloading of any of the systems used for your system integration solutions

Some integration platforms and technologies offer built-in tracking or at least have a way to attach a log appender. This makes it very easy to get logged events and data from the application/flow/solutions to Nodinite. Some good examples are:

Agent based

Nodinite fetches events from the integration broker; plug and play!

Log Appenders

Nodinite fetches events using an appender added to the trace configuration. Usually combined with the Nodinite Pickup Service.

Solution specific

The Nodinite Pickup Service asynchronously fetches Nodinite JSON Log Events from an intermediate storage.

We have on our own, with our partners and customers enabled Logging to Nodinite using the following other products:

If you need additional information about custom logging, contact our support for further guidance.

Logging with other products

The Nodinite Logging is suitable for solutions built other technologies, like point-to-point (P2P) using any of the listed technologies:

  • Databases
    • SSIS
  • Files
  • Scheduled Tasks with script written with for example powershell
  • Lightweight integration services and direct APIs

Logging Templates

About custom coded logging solutions

Your mission when built-in tracking does not exist in your message broker/solution using any of the Nodinite Logging Agents is to produce a json formatted log event and place it on a highly available target (e.g. a queue, a file share, a database, ...).

The Nodinite Pickup LogEvents Service Logging Agent when available then fetches your Nodinite Log Events asynchronously which means you will get less code, reliable logging and avoid overloading Nodinite in your custom-built solutions.

graph LR subgraph "App Server" roLogSink("fal:fa-bolt Custom Logging Solution
.NET/.NET Core
Mule ESB
Java/NodeJS/...") --> roId1["fal:fa-list Queue
fal:fa-folder Folder
..."] end subgraph "Nodinite Server" roLogAPI(fal:fa-cloud-download Log API) roPS(fal:fa-truck-pickup Pickup Service)--> roLogAPI roId1 -. Async.-x roPS end

No vendor lock-in

Some platforms require you to add custom code to emit events and data.

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

Next Step