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.
- SeriLog
- Use it with Azure Functions(!)
- .NET 5 based solutions
- WCF Diagnostics Tracing - Fetch events including the payload from the IIS trace
- Log4Net Appender
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:
- Azure API Management Service - Policy based logging
- Apache Camel
- GhostNodes
- Boomi Integration
- WSO2 - Enterprise Integrator
- WSO2 - API Manager
- iCore
- MoveIt
- IBM Sterling
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
- FTP/SFTP
- Files
- Scheduled Tasks with script written with for example powershell
- Lightweight integration services and direct APIs
Logging Templates
- Custom Connector (Mule ESB)
- Hello World - Sample (.NET)
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.
.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.
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