Asynchronous logging with Nodinite
Enables reliable 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:
Nodinite fetches events from the integration broker; plug and play!
Nodinite fetches events using an appender added to the trace configuration. Usually combined with the Nodinite Pickup Service.
- Use it with Azure Functions(!)
- .NET 5 based solutions
- WCF Diagnostics Tracing - Fetch events including the payload from the IIS trace
- Log4Net Appender
We have on our own, with our partners and customers enabled Logging to Nodinite using the following other products:
- Azure API Management Service - Policy based logging
- Apache Camel
- Boomi Integration
- WSO2 - Enterprise Integrator
- WSO2 - API Manager
- IBM Sterling
If you need additional information about custom logging, contact our support for further guidance.
The Nodinite Logging is suitable for solutions built other technologies, like point-to-point (P2P) using any of the listed technologies:
- Scheduled Tasks with script written with for example powershell
- Lightweight integration services and direct APIs
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.
Java/NodeJS/...") --> roId1["fal:fa-list Queue
..."] end subgraph "Nodinite Server" roLogAPI(fal:fa-cloud-download Log API) roPS(fal:fa-truck-pickup Pickup Service)--> roLogAPI roId1 -. Async.-x roPS end
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.
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