From d983a6c8065c4e72059d116b3f6a0711b9b9a23a Mon Sep 17 00:00:00 2001 From: Athanasius Date: Thu, 19 Jan 2023 15:29:57 +0000 Subject: [PATCH] Gateway: Expand logging on Accepted or Validation Error --- src/eddn/Gateway.py | 49 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 44 insertions(+), 5 deletions(-) diff --git a/src/eddn/Gateway.py b/src/eddn/Gateway.py index 0524478..186a6f6 100644 --- a/src/eddn/Gateway.py +++ b/src/eddn/Gateway.py @@ -76,8 +76,14 @@ def extract_message_details(parsed_message): uploader_id = '<>' software_name = '<>' software_version = '<>' + game_build = '<>' + game_version = '<>' schema_ref = '<>' journal_event = '<>' + system_name = '<>' + system_address = '<>' + station_name = '<>' + station_marketid = '<>' if 'header' in parsed_message: if 'uploaderID' in parsed_message['header']: @@ -89,6 +95,12 @@ def extract_message_details(parsed_message): if 'softwareVersion' in parsed_message['header']: software_version = parsed_message['header']['softwareVersion'] + if 'gamebuild' in parsed_message['header']: + game_build = parsed_message['header']['gamebuild'] + + if 'gameversion' in parsed_message['header']: + game_version = parsed_message['header']['gameversion'] + if '$schemaRef' in parsed_message: schema_ref = parsed_message['$schemaRef'] @@ -101,7 +113,26 @@ def extract_message_details(parsed_message): else: journal_event = '-' - return uploader_id, software_name, software_version, schema_ref, journal_event + if 'SystemName' in parsed_message['message']: + system_name = parsed_message['message']['SystemName'] + + elif 'StarSystem' in parsed_message['message']: + system_name = parsed_message['message']['StarSystem'] + + if 'SystemAddress' in parsed_message['message']: + system_address = parsed_message['message']['SystemAddress'] + + if 'StationName' in parsed_message['message']: + station_name = parsed_message['message']['StationName'] + + if 'marketId' in parsed_message['message']: + station_marketid = parsed_message['message']['marketId'] + + elif 'MarketID' in parsed_message['message']: + station_marketid = parsed_message['message']['MarketID'] + + return uploader_id, software_name, software_version, schema_ref, journal_event, game_build, game_version, \ + system_name, system_address, station_name, station_marketid def configure(): # Get the list of transports to bind from settings. This allows us to PUB @@ -218,10 +249,14 @@ def parse_and_error_handle(data): gevent.spawn(push_message, parsed_message, parsed_message['$schemaRef']) try: - uploader_id, software_name, software_version, schema_ref, journal_event = extract_message_details(parsed_message) - logger.info('Accepted (%d, "%s", "%s", "%s", "%s", "%s") from %s' % ( + uploader_id, software_name, software_version, schema_ref, journal_event, game_build, game_version, \ + system_name, system_address, station_name, station_marketid = extract_message_details(parsed_message) + logger.info('Accepted (%d, "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s") from %s' % ( request.content_length, uploader_id, software_name, software_version, schema_ref, journal_event, + game_build, game_version, + system_name, system_address, + station_name, station_marketid, get_remote_address() )) @@ -233,11 +268,15 @@ def parse_and_error_handle(data): else: try: - uploader_id, software_name, software_version, schema_ref, journal_event = extract_message_details(parsed_message) - logger.error('Failed Validation "%s" (%d, "%s", "%s", "%s", "%s", "%s") from %s' % ( + uploader_id, software_name, software_version, schema_ref, journal_event, game_build, game_version, \ + system_name, system_address, station_name, station_marketid = extract_message_details(parsed_message) + logger.error('Failed Validation "%s" (%d, "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s") from %s' % ( str(validationResults.messages), request.content_length, uploader_id, software_name, software_version, schema_ref, journal_event, + game_build, game_version, + system_name, system_address, + station_name, station_marketid, get_remote_address() ))