Difference between revisions of "DE4A Logs and error messages"
Javier.presa (talk | contribs) (→Final participants DE/DO: New errors added) |
|||
(15 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | + | 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 | ||
− | The information on this page should be used by each partner who | + | 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 | + | 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 | + | * '''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 | + | * '''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 | + | 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" | ||
+ | |+ | ||
+ | !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. | ||
+ | {| 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 |