DE4A Logs and error messages it2
In order to standardise the errors and logs handled by each component, some conventions have been taken, as log patterns, error codes definition or messages content.
The information on this page should be used by each partner who develops a DE4A component, also it should be maintained to have a proper messages reference and be aware which information will include.
Apart from the usual reasons of the logging and error handling, in the DE4A project, there are 3 main bullet points on which the definition of messages is based:
- Kafka tracking: messages sent to the Kafka server which can be previewed at: https://de4a.simplegob.com/package-tracker/#!detail
- Metrics logs: messages marked with a special tag inside the common log file or logged on a separated file, which will be used to analyze and raise some metrics about each system
- Error convention: standardise the error messages and codes
Structure definition
This section will describe the hierarchy and model followed to build the different logs and messages. There are multiple patterns depending on the message nature, but the following tables will be a common reference to understand the rest of information collected in the page.
Layer
The layer concept will be used to name the system level where the message comes from.
Layer | Layer Code | Description |
---|---|---|
Communications | 1 | External connections/communications performed by the Connector |
Internal failure | 2 | Internal failure of the Connector to be handled and stored in ErrorTypes wrapped in DE4A responses |
Configuration | 3 | Unexpected situation due to a missing configuration paramater |
Business | 4 | Unsuccessful situation on the business flow |
Module
A reference to each DE4A module possibly involved in an interaction. A "None" element has been included to represent the situation where a message occurs internally in a certain component.
Module Name | Module Code |
---|---|
IDK | 01 |
SMP | 02 |
Connector DR | 03 |
Connector DT | 04 |
Data Owner | 05 |
Data Evaluator | 06 |
None | 00 |
Type
It is mean to use just for the Connector log messages (metrics and Kafka).
Log Type | Type code |
---|---|
Services | 01 |
Client | 02 |
AS4 | 03 |
Severity
Severity log messages.
Severity | Severity code |
---|---|
DEBUG | 01 |
INFO | 02 |
WARNING | 03 |
Error messages
As part of the logging standardisation, some error messages templates have been defined. Those messages will be thrown by each component with the corresponding parameterisation.
Error message | Code | Parameters |
---|---|---|
Service requested {0} not found | 01 | {0}: REST service requested |
Arguments missing or invalid at {0} - {1} | 02 | {0}: Service requested
{1}: Missing arguments |
Connection error with {0} - {1} | 03 | {0}: Module name
{1}: Inherited error message |
Error on response from {0} - {1} | 04 | {0}: Module name
{1}: Inherited error message |
Object conversion error on {0} - {1} | 05 | {0}: Module name
{1}: Inherited error message |
Error accessing/saving data on {0} - {1} | 06 | {0}: Module name
{1}: Inherited error message |
Scheme validation failed for {0} message - {1} | 07 | {0}: Message type
{1}: Inherited error message |
Error occurred on AS4 Gateway to {0} - {1} | 08 | {0}: Module name
{1}: Inherited error message |
Failed to establish user identity | 09 | - |
Error extracting evidence | 10 | - |
Error in identity matching | 11 | - |
Unsuccessful completion of preview | 12 | - |
Preview rejected by user | 13 | - |
Failed to re-establish user identity | 14 | - |
Evidence not available yet (delayed) | 15 | - |
Unsuccessful generation of the canonical evidence | 16 | - |
DE4A pilot process started | 17 | - |
DE4A pilot process finished | 18 | - |
Connector
Specific messages for the Connector. Each component around the Connector should be aware of the codes and content of these messages to act accordingly on each case.
Error messages
Layer | #Layer | Module | #Module | Error type | # | Error Code |
---|---|---|---|---|---|---|
Communications | 1 | None | 00 | Service requested {0} not found | 01 | 10001 |
Communications | 1 | None | 00 | Scheme validation failed for {0} message - {1} | 07 | 10007 |
Communications | 1 | IDK | 01 | Service requested {0} not found | 01 | 10101 |
Communications | 1 | IDK | 01 | Arguments missing or invalid at {0} - {1} | 02 | 10102 |
Communications | 1 | IDK | 01 | Error on response from {0} - {1} | 04 | 10104 |
Communications | 1 | IDK | 01 | Connection error with {0} - {1} | 03 | 10103 |
Communications | 1 | IDK | 01 | Scheme validation failed for {0} message - {1} | 07 | 10107 |
Communications | 1 | SMP | 02 | Error on response from {0} - {1} | 04 | 10204 |
Communications | 1 | SMP | 02 | Service requested {0} not found | 01 | 10201 |
Communications | 1 | SMP | 02 | Connection error with {0} - {1} | 03 | 10203 |
Communications | 1 | SMP | 02 | Scheme validation failed for {0} message - {1} | 07 | 10207 |
Communications | 1 | Data Owner | 05 | Connection error with {0} - {1} | 03 | 10503 |
Communications | 1 | Data Owner | 05 | Service requested {0} not found | 01 | 10501 |
Communications | 1 | Data Owner | 05 | Error accessing/saving data on {0} - {1} | 06 | 10506 |
Communications | 1 | Data Owner | 05 | Error on response from {0} - {1} | 04 | 10504 |
Communications | 1 | Data Owner | 05 | Scheme validation failed for {0} message - {1} | 07 | 10507 |
Communications | 1 | Data Evaluator | 06 | Service requested {0} not found | 01 | 10601 |
Communications | 1 | Data Evaluator | 06 | Error on response from {0} - {1} | 04 | 10604 |
Communications | 1 | Data Evaluator | 06 | Connection error with {0} - {1} | 03 | 10603 |
Communications | 1 | Connector DR | 03 | Error occurred on AS4 Gateway to {0} - {1} | 08 | 10308 |
Communications | 1 | Connector DT | 04 | Error occurred on AS4 Gateway to {0} - {1} | 08 | 10408 |
Internal failure | 2 | None | 00 | Object conversion error on {0} - {1} | 05 | 20005 |
Internal failure | 2 | None | 00 | Error accessing/saving data on {0} - {1} | 06 | 20006 |
Internal failure | 2 | None | 00 | Error occurred on AS4 Gateway to {0} - {1} | 08 | 20008 |
Internal failure | 2 | None | 00 | Object conversion error on {0} - {1} | 05 | 20005 |
Configuration | 3 | None | 00 | Error occurred on AS4 Gateway to {0} - {1} | 08 | 30008 |
Log messages
Messages meant to be sent to the Kafka server and also to be printed at the logging files of the Connector.
Message | #Message | Type | #Type | Parameters | Log code |
---|---|---|---|---|---|
RequestTransferEvidenceIM message received: Request ID: {0}, Canonical Evidence Type: {1}, Data Evaluator: {2}, Data Owner: {3} | 01 | Services | 01 | {0}: RequestId
{1}: CanonicalEvidenceType {2}: DataEvaluator {3}: DataOwner |
0101 |
RequestTransferEvidenceUSI message received - Request ID: {0}, Canonical Evidence Type: {1}, Data Evaluator: {2}, Data Owner: {3} | 02 | Services | 01 | {0}: RequestId
{1}: CanonicalEvidenceType {2}: DataEvaluator {3}: DataOwner |
0102 |
RequestTransferEvidenceUSIDT message received - Request ID: {0} | 03 | Services | 01 | {0}: RequestId | 0103 |
RequestLookupRoutingInformation message received - Canonical Evidence Type: {0}, Country Code: {1}, Data Owner: {2} | 04 | Services | 01 | {0}: CanonicalEvidenceType
{1}: CountryCode {2}: DataOwnerId |
0104 |
Sending request to IDK - URL: {0} | 05 | Services | 01 | {0}: URL | 0105 |
Looking for Data Owner address - Data Owner: {0} | 06 | Services | 01 | {0}: DataOwnerId | 0106 |
Data Owner address not found - Data Owner: {0} | 07 | Services | 01 | {0}: DataOwnerId | 0107 |
Requesting to SMP - Participant: {0}, Document Type: {1}, Message Type: {2} | 01 | Client | 02 | {0}: ParticipantId
{1}: DocumentTypeId {2}: MessageType |
0201 |
Sending RequestForwardEvidence to the Data Evaluator - Request ID: {0}, Data Evaluator: {1}, Data Owner: {2}, Endpoint: {3} | 02 | Client | 02 | {0}: RequestId
{1}: DataEvaluatorId {2}: DataOwnerId {3}: Endpoint |
0202 |
Sending RequestExtractEvidence IM to the Data Owner - Request ID: {0}, Canonical Evidence Type: {1}, Data Evaluator: {2}, Data Owner: {3}, Endpoint: {4} | 03 | Client | 02 | {0}: RequestId
{1}: CanonicalEvidenceType {2}: DataEvaluatorId {3}: DataOwnerId {4}: Endpoint |
0203 |
Sending RequestExtractEvidence USI to the Data Owner - Request ID: {0}, Canonical Evidence Type: {1}, Data Evaluator: {2}, Data Owner: {3}, Endpoint: {4} | 04 | Client | 02 | {0}: RequestId
{1}: CanonicalEvidenceType {2}: DataEvaluatorId {3}: DataOwnerId {4}: Endpoint |
0204 |
Sending request message via AS4 gateway - Data Evaluator: {0}, Data Owner: {1}, Canonical Evidence Type: {2} | 01 | AS4 | 03 | {0}: DataEvaluatorId
{1}: DataOwnerId {2}: CanonicalEvidenceType |
0301 |
Sending response message via AS4 gateway - Data Evaluator: {0}, Message type: {1}, Canonical Evidence Type: {2} | 02 | AS4 | 03 | {0}: DataEvaluatorId
{1}: Message tag {2}: CanonicalEvidenceType |
0302 |
Processing the request received via AS4 gateway - Request ID: {0} | 03 | AS4 | 03 | {0}: RequestId | 0303 |
Processing the response received via AS4 gateway - Request ID: {0} | 04 | AS4 | 03 | {0}: RequestId | 0304 |
Examples
- Kafka
2021-08-09 14:15:51:657: [de4a-connector-sgad] [INFO] RequestTransferEvidenceUSIDT message received - Request ID: 2ecda60e-3824-4e92-a459-7c4a81258952
- Internal log
[2021-07-13 14:15:51:657] [INFO] [0103] RequestTransferEvidenceUSIDT message received - Request ID: 2ecda60e-3824-4e92-a459-7c4a81258952 - Extra technical information (java source and execution thread)
SSI Authority Agent
Message types
The Authority Agent implements a custom DE4A Logger, which is responsible for producing a pre-defined format of the log message. The Logger provides the following types of messages:
- Info
- Error
Those basic message categories are used to record success or failure of individual operations executed within each API method call.
List of messages
The messages currently logged by the Authority Agent are as follows:
Services - (Info level)
Message | #Message | Type | #Type | Parameters | Severity | Log Code |
---|---|---|---|---|---|---|
{0}: Received input eIDAS user data. | 01 | Client | 02 | {0}: APIMethod | INFO | 0201 |
{0}: Received input userId data. | 02 | Client | 02 | {0}: APIMethod | INFO | 0202 |
{0}: Generated DID invitation for edge agent. | 03 | Client | 02 | {0}: APIMethod | INFO | 0203 |
{0}: Received input evidence data. | 04 | Client | 02 | {0}: APIMethod | INFO | 0204 |
{0}: Signed a Verifiable Credential. | 05 | Client | 02 | {0}: APIMethod | INFO | 0205 |
{0}: Sent a Verifiable Credential to the edge agent. | 06 | Client | 02 | {0}: APIMethod | INFO | 0206 |
{0}: Accepted a submitted Verifiable Presentation. | 07 | Client | 02 | {0}: APIMethod | INFO | 0207 |
{0}: Decoded input eIDAS user data. | 08 | Client | 02 | {0}: APIMethod | INFO | 0208 |
{0}: Validated the digital signature of the submitted VP. | 09 | Client | 02 | {0}: APIMethod | INFO | 0209 |
{0}: Validated the subject of the submitted VP. | 10 | Client | 02 | {0}: APIMethod | INFO | 0210 |
{0}: Received HTTP response code: {1} from endpoint: {2}. | 01 | Services | 01 | {0}: APIMethod
{1}: ResponseCode {2}: Endpoint |
INFO | 0101 |
{0}: Processing the JSON response received from /{1}. | 02 | Services | 01 | {0}: APIMethod
{1}: AriesAPIMethod |
INFO | 0102 |
{0}: Stored current state in {1} internal database. | 03 | Services | 01 | {0}: APIMethod
{1}: Component |
INFO | 0103 |
{0}: Received user {1} status data. | 04 | Services | 01 | {0}: APIMethod
{1}: DataObject |
INFO | 0104 |
{0}: Converted input evidence in format: {1} to format: {2}. | 05 | Services | 01 | {0}: APIMethod
{1}: Format {2}: Format |
INFO | 0105 |
{0}: Received response data PIID: {1}. | 06 | Services | 01 | {0}: APIMethod
{1}: PIID |
INFO | 0106 |
{0}: Found a {1} action match with PIID: {2}. | 07 | Services | 01 | {0}: APIMethod
{1}: DataObject {2}: PIID |
INFO | 0107 |
{0}: Found a Verifiable Presentation with name: {1}. | 08 | Services | 01 | {0}: APIMethod
{1}: VPName |
INFO | 0108 |
{0}: Found a Verifiable Presentation with ID: {1}. | 09 | Services | 01 | {0}: APIMethod
{1}: VPID |
INFO | 0109 |
{0}: Issuer DID has already been generated and registered in EBSI. | 10 | Services | 01 | {0}: Component | INFO | 0110 |
{0}: Successfully created files for EBSI integration. | 11 | Services | 01 | {0}: Component | INFO | 0111 |
{0}: Successfully generated key: {1}, value: {2}. | 12 | Services | 01 | {0}: Component
{1}: KeyType {2}: Value |
INFO | 0112 |
{0}: Successfully exported JWK private key. | 13 | Services | 01 | {0}: Component | INFO | 0113 |
{0}: Successfully imported DID document into Aries. | 14 | Services | 01 | {0}: Component | INFO | 0114 |
Errors – (Error level)
The following list of error messages are recorded on the Communications, Internal failure and Configuration layers:
Layer | #Layer | Module | #Module | Error type | # | Error Code |
---|---|---|---|---|---|---|
Communications | 1 | Authority Agent | 07 | Connection error with {0} - {1} | 03 | 10703 |
Communications | 1 | Authority Agent | 07 | Error on response from {0} - {1} | 04 | 10704 |
Communications | 1 | Authority Agent | 07 | Arguments missing or invalid at {0} - {1} | 02 | 10702 |
Internal failure | 2 | Authority Agent | 07 | Object conversion error on {0} - {1} | 05 | 20705 |
Internal failure | 2 | Authority Agent | 07 | Error accessing/saving data on {0} - {1} | 06 | 20706 |
Internal failure | 2 | Authority Agent | 07 | Error generating {0} key. | 18 | 20718 |
Internal failure | 2 | Authority Agent | 07 | Error exporting JWK private key. | 19 | 20719 |
Internal failure | 2 | Authority Agent | 07 | Error importing DID document into Aries. | 20 | 20720 |
Configuration | 3 | Authority Agent | 07 | Configuration error occurred on {0} | 17 | 30717 |
Final participants DE/DO
The proposal includes specific messages to the final participants which would be part of the metrics and statistics collection. Some basic messages have been defined to identify the possible situations at the Data Evaluator and Data Owner's.
Error warning and local logs to collect
Layer | #Layer | Module | #Module | Error Type | #Type | To be displayed | #Code |
---|---|---|---|---|---|---|---|
Business | 4 | Connector DR | 03 | Mandatory fields must be present in the request. | 02 | 40302 | |
Business | 4 | Connector DR | 03 | No data found error | 06 | 40306 | |
Business | 4 | Connector DT | 04 | Mandatory fields must be present in the request | 02 | 40402 | |
Business | 4 | Connector DT | 04 | No data found error | 06 | 40406 | |
Business | 4 | Data Owner | 05 | Mandatory fields must be present in the request | 02 | 40502 | |
Business | 4 | Data Owner | 05 | Error extracting evidence | 10 | Y | 40510 |
Business | 4 | Data Owner | 05 | Evidence not available yet (delayed) | 15 | Y | 40515 |
Business | 4 | Data Owner | 05 | Error in identity matching | 11 | Y | 40511 |
Business | 4 | Data Owner | 05 | Unsuccessful completion of preview | 12 | Y | 40512 |
Business | 4 | Data Owner | 05 | Failed to re-establish user identity | 14 | Y | 40514 |
Business | 4 | Data Owner | 05 | Preview rejected by user | 13 | N | 40513 |
Business | 4 | Data Evaluator | 06 | Failed to establish user identity | 09 | Y | 40609 |
Business | 4 | Data Evaluator | 06 | Preview rejected by user | 13 | N | 40613 |
Business | 4 | Data Owner | 05 | Unsuccessful generation of the canonical evidence | 16 | N | 40516 |
Business | 4 | Data Evaluator | 06 | Mandatory fields must be present in the request | 02 | 40602 | |
Business | 4 | Data Evaluator | 06 | DE4A pilot process started | 17 | N | 40617 |
Business | 4 | Data Evaluator | 06 | DE4A pilot process finished | 18 | N | 40618 |