...
Drawio | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
LogRecord
LogRecord is a the main entity for saving/retrieving log info:
Field | Type | Default | Required | Note |
---|---|---|---|---|
EventId | UUID | N | Y | |
User | UUID | N | N | |
Item | UUID | N | N | |
Object | Enum<String> | N | N | |
Action | N | N | ||
Date | DateTime | N | N | |
ServicePoint | String | N | N | |
Source | N | N | ||
Description | String | N | N | |
LinkTo | UUID | N | N | |
Notes | Text | N | N |
HL Flow Design
Flow description:
LogRecord saving:
1) LogUtils provides inline handler that construct event message with request (optional), response (mandatory), metadata (TBD). This handler is built into the logic of each method that handles a specific business process.
2) LogUtils sends event to PubSub/Kafka.
3) LogListener listening to the event bus and gets event.
4) LogRecordResolver determines type of record, extracts needed information, populates LogRecord and saves record to DB.
LogRecord retrieving:
1) Client makes call to LogsService /audit-data/logs with CQL query and shows result.
Drawio | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...