Difference between revisions of "DE4A Logs and error messages"

From DE4A
Jump to navigation Jump to search
(→‎Final participants DE/DO: New errors added)
 
(14 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Overview ==
+
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.
In order to standarize 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 develop a DE4A component, also it should be maintained to have a proper messages reference and be aware which information will include.
+
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 messages definition are supported:
+
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-dev-pt.egovlab.eu/#!detail
+
* '''Kafka tracking''': messages sent to the [[Usage of third party specifications and components|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
 
* '''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 convenction''': standarize the error messages and codes
+
* '''Error convention''': standardise the error messages and codes
  
 
== Structure definition ==
 
== Structure definition ==
This section will describe the hierarchy and model followed to build the different logs and messages. There are multples pattern depending on the message nature, but the following tables will be a common reference to understand the rest of information collected in the page.
+
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 ===
 
=== Layer ===
Line 39: Line 38:
  
 
=== Module ===
 
=== 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
+
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.
 
{| class="wikitable"
 
{| class="wikitable"
 
|+
 
|+
Line 68: Line 67:
  
 
=== Type ===
 
=== Type ===
It is mean to use just for the Connector log messages (metrics and Kafka)
+
It is mean to use just for the Connector log messages (metrics and [[Usage of third party specifications and components|Kafka]]).
 
{| class="wikitable"
 
{| class="wikitable"
 
|+
 
|+
Line 83: Line 82:
 
|03
 
|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.
 +
{| class="wikitable"
 +
|+
 +
!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
 +
|<nowiki>-</nowiki>
 +
|-
 +
|Error extracting evidence
 +
|10
 +
|<nowiki>-</nowiki>
 +
|-
 +
|Error in identity matching
 +
|11
 +
|<nowiki>-</nowiki>
 +
|-
 +
|Unsuccessful completion of preview
 +
|12
 +
|<nowiki>-</nowiki>
 +
|-
 +
|Preview rejected by user
 +
|13
 +
|<nowiki>-</nowiki>
 +
|-
 +
|Failed to re-establish user identity
 +
|14
 +
| -
 +
|-
 +
|Evidence  not available yet (delayed)
 +
|15
 +
|<nowiki>-</nowiki>
 +
|-
 +
|Unsuccessful  generation of the canonical evidence
 +
|16
 +
|<nowiki>-</nowiki>
 +
|}
 +
 +
== 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 ===
 +
{| class="wikitable"
 +
|+
 +
!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
 +
|-
 +
|Business
 +
|4
 +
|Connector DR
 +
|03
 +
|Missing mandatory arguments
 +
|02
 +
|40302
 +
|-
 +
|Business
 +
|4
 +
|Connector DR
 +
|03
 +
|No data found
 +
|06
 +
|40306
 +
|-
 +
|Business
 +
|4
 +
|Connector DT
 +
|04
 +
|Missing mandatory arguments
 +
|02
 +
|40402
 +
|-
 +
|Business
 +
|4
 +
|Connector DT
 +
|04
 +
|No data found
 +
|06
 +
|40406
 +
|}
 +
 +
=== Log messages ===
 +
Messages meant to be sent to the [[Usage of third party specifications and components|Kafka]] server and also to be printed at the logging files of the Connector.
 +
{| class="wikitable"
 +
|+
 +
!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)''
 +
{| class="wikitable"
 +
!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:
 +
{| class="wikitable"
 +
!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 ===
 +
{| class="wikitable"
 +
|+
 +
!Layer
 +
!#Layer
 +
!Module
 +
!#Module
 +
!Error Type
 +
!#Type
 +
!#Code
 +
|-
 +
|Business
 +
|4
 +
|Data Evaluator
 +
|06
 +
|Failed to establish user  identity
 +
|09
 +
|40609
 +
|-
 +
|Business
 +
|4
 +
|Data Owner
 +
|05
 +
|Error extracting evidence
 +
|10
 +
|40510
 +
|-
 +
|Business
 +
|4
 +
|Data Owner
 +
|05
 +
|Evidence not available yet  (delayed)
 +
|15
 +
|40515
 +
|-
 +
|Business
 +
|4
 +
|Data Owner
 +
|05
 +
|Error in identity matching
 +
|11
 +
|40511
 +
|-
 +
|Business
 +
|4
 +
|Data Owner
 +
|05
 +
|Unsuccessful completion of  preview
 +
|12
 +
|40512
 +
|-
 +
|Business
 +
|4
 +
|Data Owner
 +
|05
 +
|Failed to re-establish user  identity
 +
|14
 +
|40514
 +
|-
 +
|Business
 +
|4
 +
|Data Owner
 +
|05
 +
|Preview rejected by user
 +
|13
 +
|40513
 +
|-
 +
|Business
 +
|4
 +
|Data Evaluator
 +
|06
 +
|Preview rejected by user
 +
|13
 +
|40613
 +
|-
 +
|Business
 +
|4
 +
|Data Owner
 +
|05
 +
|Unsuccessful generation of the  canonical evidence
 +
|16
 +
|40516
 +
|-
 +
|Business
 +
|4
 +
|Data  Evaluator
 +
|06
 +
|DE4A pilot process started
 +
|17
 +
|40617
 +
|-
 +
|Business
 +
|4
 +
|Data  Evaluator
 +
|06
 +
|DE4A pilot process finished
 +
|18
 +
|40618
 +
|-
 +
|Business
 +
|4
 +
|Data Evaluator
 +
|06
 +
|Missing mandatory fields
 +
|02
 +
|40602
 +
|-
 +
|Business
 +
|4
 +
|Data Owner
 +
|05
 +
|Missing mandatory fields
 +
|02
 +
|40502
 +
|}
 +
[[Category:Wip]]

Latest revision as of 10:25, 27 May 2022

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
Communication 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 07

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

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 -

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
Business 4 Connector DR 03 Missing mandatory arguments 02 40302
Business 4 Connector DR 03 No data found 06 40306
Business 4 Connector DT 04 Missing mandatory arguments 02 40402
Business 4 Connector DT 04 No data found 06 40406

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 #Code
Business 4 Data Evaluator 06 Failed to establish user identity 09 40609
Business 4 Data Owner 05 Error extracting evidence 10 40510
Business 4 Data Owner 05 Evidence not available yet (delayed) 15 40515
Business 4 Data Owner 05 Error in identity matching 11 40511
Business 4 Data Owner 05 Unsuccessful completion of preview 12 40512
Business 4 Data Owner 05 Failed to re-establish user identity 14 40514
Business 4 Data Owner 05 Preview rejected by user 13 40513
Business 4 Data Evaluator 06 Preview rejected by user 13 40613
Business 4 Data Owner 05 Unsuccessful generation of the canonical evidence 16 40516
Business 4 Data Evaluator 06 DE4A pilot process started 17 40617
Business 4 Data Evaluator 06 DE4A pilot process finished 18 40618
Business 4 Data Evaluator 06 Missing mandatory fields 02 40602
Business 4 Data Owner 05 Missing mandatory fields 02 40502