From 6a514d3bae37a73d3ab86deec42fe6ba37c097b5 Mon Sep 17 00:00:00 2001 From: Athanasius Date: Thu, 19 Jan 2023 16:01:53 +0000 Subject: [PATCH] Gateway: Improve the new logging elements * There are different source-keys for much of this. * Have game_version *then* game_build. * Where a message doesn't have a relevant field, set to '-'. --- src/eddn/Gateway.py | 40 +++++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/src/eddn/Gateway.py b/src/eddn/Gateway.py index 186a6f6..b6a8fba 100644 --- a/src/eddn/Gateway.py +++ b/src/eddn/Gateway.py @@ -76,8 +76,8 @@ def extract_message_details(parsed_message): uploader_id = '<>' software_name = '<>' software_version = '<>' - game_build = '<>' game_version = '<>' + game_build = '<>' schema_ref = '<>' journal_event = '<>' system_name = '<>' @@ -95,12 +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 'gamebuild' in parsed_message['header']: + game_build = parsed_message['header']['gamebuild'] + if '$schemaRef' in parsed_message: schema_ref = parsed_message['$schemaRef'] @@ -113,17 +113,32 @@ def extract_message_details(parsed_message): else: journal_event = '-' - if 'SystemName' in parsed_message['message']: + if 'systemName' in parsed_message['message']: + system_name = parsed_message['message']['systemName'] + + elif 'SystemName' in parsed_message['message']: system_name = parsed_message['message']['SystemName'] elif 'StarSystem' in parsed_message['message']: system_name = parsed_message['message']['StarSystem'] + else: + system_name = '-' + if 'SystemAddress' in parsed_message['message']: system_address = parsed_message['message']['SystemAddress'] - if 'StationName' in parsed_message['message']: + else: + system_address = '-' + + if 'stationName' in parsed_message['message']: + station_name = parsed_message['message']['stationName'] + + elif 'StationName' in parsed_message['message']: station_name = parsed_message['message']['StationName'] + + else: + station_name = '-' if 'marketId' in parsed_message['message']: station_marketid = parsed_message['message']['marketId'] @@ -131,7 +146,10 @@ def extract_message_details(parsed_message): 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, \ + else: + station_marketid = '-' + + return uploader_id, software_name, software_version, schema_ref, journal_event, game_version, game_build, \ system_name, system_address, station_name, station_marketid def configure(): @@ -249,12 +267,12 @@ 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, game_build, game_version, \ + uploader_id, software_name, software_version, schema_ref, journal_event, game_version, game_build, \ 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, + game_version, game_build, system_name, system_address, station_name, station_marketid, get_remote_address() @@ -268,13 +286,13 @@ def parse_and_error_handle(data): else: try: - uploader_id, software_name, software_version, schema_ref, journal_event, game_build, game_version, \ + uploader_id, software_name, software_version, schema_ref, journal_event, game_version, game_build, \ 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, + game_version, game_build, system_name, system_address, station_name, station_marketid, get_remote_address()