Log Event
Nodinite enables End to End logging either from the use of any of the "out of the box ready to go" Log Agents or from your own solutions based on your own code. This enables you and Nodinite to use synchronous and asynchronous message exchange logging patterns.
BizTalk, Mule, Logic Apps, ...] roLogSink("fal:fa-bolt Custom Logging Solution") --> roId1["fal:fa-list Queue
fal:fa-folder Folder
..."] end subgraph "Web Server" roLogAPI(fal:fa-cloud-download Log API) roPS(fal:fa-truck-pickup Pickup Service)--> roLogAPI roId1 -.Log Event.-x roPS roLogSink --> |Log Event|roLogAPI roMessageBroker --> |Log Event| roLogAPI end
Architectural example with synchronous and asynchronous logging
We at Nodinite promote the use of asynchronous logging patterns
What is a Log Event?
A Log Event is an object represented as a JSON object and can be shipped either directly using the REST based Log API or you can send the very same JSON object to persistent storage for Nodinite Pickup Service to fetch asynchronously. The latter means that:
- Your logging solutions has no dependency on the Log API (reboot/update whenever you like)
- You don't have to implement retries
- You don't have to be lucky... Running async is good for concurrency and the Pickup Service has a limited number of threads and will not overload the Log API
- ... this list can grow very large
Log Event (Mandatory) - Generic information about the event (like time, message type name and endpoint) - WHEN, HOW
- Payload (Optional) - The business transaction with data, usually XML, JSON, Flat files like EDI/X12 or zip file, this is defined by a Message Types
- WHAT
- Context Properties (Optional) - Key-Value based collection of arbitrary data - (for example InvoiceId and CorrelationId) - WHAT
- With the Context Options you can control the behaviour of how Nodinite processes events
LogDateTime = 2018-05-03 13:37:00+02:00
EndPoint = https://api.nodinite.com/...
MessageType=Invoice
...] end subgraph "Payload" ro[fal:fa-envelope Message
base64EncodedMessage] end subgraph "Context Properties" roKey[fal:fa-key Key Values
InvoiceNo = 123
CorrelationId=456
...] end end
The architectural layout of a Log Event
Models
The Log API include details from the following Model entities:
- Log Event - JSON object
How do I send Log Events using REST?
Follow the 'Log using REST' article to learn more.
Repository
Log Events can "auto-populate" the Repository Model with special content. This will drastically reduce the amount of administration and the know how is transferred from developers to the business/IT Operations/AM-teams.
You must enable the 'AllowRepositoryAutomapping' System Parameter for the Logging Service to honour the provided Repository Model related data
Next Step
Log API
JSON Log Event
Context Options
Related
Repository Model
Log Views
Log Agents
Endpoint Types
Endpoint Directions