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 '-'.
This commit is contained in:
Athanasius 2023-01-19 16:01:53 +00:00
parent d983a6c806
commit 6a514d3bae
No known key found for this signature in database
GPG Key ID: 772697E181BB2767

View File

@ -76,8 +76,8 @@ def extract_message_details(parsed_message):
uploader_id = '<<UNKNOWN>>' uploader_id = '<<UNKNOWN>>'
software_name = '<<UNKNOWN>>' software_name = '<<UNKNOWN>>'
software_version = '<<UNKNOWN>>' software_version = '<<UNKNOWN>>'
game_build = '<<UNKNOWN>>'
game_version = '<<UNKNOWN>>' game_version = '<<UNKNOWN>>'
game_build = '<<UNKNOWN>>'
schema_ref = '<<UNKNOWN>>' schema_ref = '<<UNKNOWN>>'
journal_event = '<<UNKNOWN>>' journal_event = '<<UNKNOWN>>'
system_name = '<<UNKNOWN>>' system_name = '<<UNKNOWN>>'
@ -95,12 +95,12 @@ def extract_message_details(parsed_message):
if 'softwareVersion' in parsed_message['header']: if 'softwareVersion' in parsed_message['header']:
software_version = parsed_message['header']['softwareVersion'] software_version = parsed_message['header']['softwareVersion']
if 'gamebuild' in parsed_message['header']:
game_build = parsed_message['header']['gamebuild']
if 'gameversion' in parsed_message['header']: if 'gameversion' in parsed_message['header']:
game_version = parsed_message['header']['gameversion'] game_version = parsed_message['header']['gameversion']
if 'gamebuild' in parsed_message['header']:
game_build = parsed_message['header']['gamebuild']
if '$schemaRef' in parsed_message: if '$schemaRef' in parsed_message:
schema_ref = parsed_message['$schemaRef'] schema_ref = parsed_message['$schemaRef']
@ -113,17 +113,32 @@ def extract_message_details(parsed_message):
else: else:
journal_event = '-' 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'] system_name = parsed_message['message']['SystemName']
elif 'StarSystem' in parsed_message['message']: elif 'StarSystem' in parsed_message['message']:
system_name = parsed_message['message']['StarSystem'] system_name = parsed_message['message']['StarSystem']
else:
system_name = '-'
if 'SystemAddress' in parsed_message['message']: if 'SystemAddress' in parsed_message['message']:
system_address = parsed_message['message']['SystemAddress'] 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'] station_name = parsed_message['message']['StationName']
else:
station_name = '-'
if 'marketId' in parsed_message['message']: if 'marketId' in parsed_message['message']:
station_marketid = parsed_message['message']['marketId'] station_marketid = parsed_message['message']['marketId']
@ -131,7 +146,10 @@ def extract_message_details(parsed_message):
elif 'MarketID' in parsed_message['message']: elif 'MarketID' in parsed_message['message']:
station_marketid = parsed_message['message']['MarketID'] 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 system_name, system_address, station_name, station_marketid
def configure(): def configure():
@ -249,12 +267,12 @@ def parse_and_error_handle(data):
gevent.spawn(push_message, parsed_message, parsed_message['$schemaRef']) gevent.spawn(push_message, parsed_message, parsed_message['$schemaRef'])
try: 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) 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' % ( logger.info('Accepted (%d, "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s") from %s' % (
request.content_length, request.content_length,
uploader_id, software_name, software_version, schema_ref, journal_event, uploader_id, software_name, software_version, schema_ref, journal_event,
game_build, game_version, game_version, game_build,
system_name, system_address, system_name, system_address,
station_name, station_marketid, station_name, station_marketid,
get_remote_address() get_remote_address()
@ -268,13 +286,13 @@ def parse_and_error_handle(data):
else: else:
try: 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) 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' % ( logger.error('Failed Validation "%s" (%d, "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s") from %s' % (
str(validationResults.messages), str(validationResults.messages),
request.content_length, request.content_length,
uploader_id, software_name, software_version, schema_ref, journal_event, uploader_id, software_name, software_version, schema_ref, journal_event,
game_build, game_version, game_version, game_build,
system_name, system_address, system_name, system_address,
station_name, station_marketid, station_name, station_marketid,
get_remote_address() get_remote_address()