Skip to content

Commit 1a0befa

Browse files
authored
Update websocket logs (#375)
* logging updates * fix syntax * update logs * update logs * update formatting * add newline
1 parent a755005 commit 1a0befa

File tree

2 files changed

+21
-8
lines changed

2 files changed

+21
-8
lines changed

api-gateway-routes/api_gateway_proxy_function.rb

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,14 @@ def on_connect(event, context)
3737
# connection is made.
3838
if authorization_error_response
3939
# Add some logging to make sure we know this is happening.
40-
puts "AUTHORIZATION ERROR: #{authorization_error_response[:body]}"
40+
puts get_formatted_log("AUTHORIZATION ERROR: #{authorization_error_response[:body]}", request_context, nil).to_json
4141
return { statusCode: 200, body: authorization_error_response[:body] }
4242
end
4343

44-
# Add in some logging to make debugging easier
45-
puts "CONNECT REQUEST CONTEXT: #{request_context}"
44+
# log entire request context object for debugging
45+
request_context_log = get_formatted_log("CONNECT REQUEST CONTEXT", request_context, nil)
46+
request_context_log[:request_context] = request_context
47+
puts request_context_log.to_json
4648

4749
# Return early if this is the user connectivity test
4850
if is_connectivity_test(authorizer)
@@ -80,7 +82,10 @@ def on_connect(event, context)
8082
elsif authorizer['mini_app_type'] == 'theater'
8183
function_name = ENV['BUILD_AND_RUN_THEATER_PROJECT_LAMBDA_ARN']
8284
else
83-
return { statusCode: 400, body: "invalid mini-app" }
85+
# log so we know we saw an invalid mini app
86+
invalid_message = "invalid mini-app"
87+
puts get_formatted_log(invalid_message, request_context, 400).to_json
88+
return { statusCode: 400, body: invalid_message }
8489
end
8590

8691
response = lambda_client.invoke({
@@ -201,7 +206,7 @@ def sqs_operation_with_retries(sqs_operation, request_context, *operation_params
201206
raise(e) if retries >= MAX_SQS_RETRIES
202207
retries += 1
203208
sleep(sleep_time)
204-
puts "RETRY #{retries}, just slept for #{sleep_time} seconds. Request context: #{request_context}"
209+
puts get_formatted_log("RETRY #{retries}, just slept for #{sleep_time} seconds", request_context, nil).to_json
205210
# double sleep time for next retry
206211
sleep_time = sleep_time * 2
207212
retry
@@ -229,8 +234,16 @@ def delete_queue(sqs_client, event, context)
229234
# This exception is expected during connectivity tests,
230235
# so do not log in those cases.
231236
unless is_connectivity_test(authorizer)
232-
puts "DISCONNECT ERROR REQUEST CONTEXT: #{request_context}"
233-
puts "DISCONNECT ERROR: #{e.message}"
237+
puts get_formatted_log("DISCONNECT ERROR: #{e.message}", request_context, nil).to_json
234238
end
235239
end
236240
end
241+
242+
def get_formatted_log(log_message, request_context, status_code)
243+
log_data = {
244+
connectionId: request_context['connectionId'],
245+
message: log_message
246+
}
247+
log_data[:status_code] = status_code if status_code
248+
log_data
249+
end

cicd/3-app/javabuilder/template.yml.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ Resources:
315315
DefaultRouteSettings:
316316
DetailedMetricsEnabled: true
317317
LoggingLevel: INFO
318-
DataTraceEnabled: true
318+
DataTraceEnabled: false
319319
AccessLogSettings:
320320
DestinationArn: !Sub "arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/apigateway/accesslog/${SubDomainName}.${BaseDomainName}"
321321
# TODO: Also log authorizer status code, authorizer error message, Javabuilder session id, and Origin.

0 commit comments

Comments
 (0)