@@ -454,36 +454,34 @@ We could start by creating a dictionary with Lambda context information or somet
454454
455455As we already have Lambda Powertools as a dependency, we can simply import [ Logger] ( ./core/logger.md ) {target="_ blank"}.
456456
457- === "app.py"
457+ ``` python title="Refactoring with Lambda Powertools Logger" hl_lines="3 5 7 14 20 24"
458+ import json
458459
459- ```python hl_lines="3 5 7 14 20 24"
460- import json
460+ from aws_lambda_powertools import Logger
461+ from aws_lambda_powertools.event_handler.api_gateway import ApiGatewayResolver
462+ from aws_lambda_powertools.logging import correlation_paths
461463
462- from aws_lambda_powertools import Logger
463- from aws_lambda_powertools.event_handler.api_gateway import ApiGatewayResolver
464- from aws_lambda_powertools.logging import correlation_paths
464+ logger = Logger(service = " order" )
465465
466- logger = Logger(service="order" )
466+ app = ApiGatewayResolver( )
467467
468- app = ApiGatewayResolver()
469468
470-
471- @app.get("/hello/<name>")
472- def hello_name(name):
473- logger.info(f"Request from {name} received")
474- return {"statusCode": 200, "body": json.dumps({"message": f"hello {name}!"})}
469+ @app.get (" /hello/<name>" )
470+ def hello_name (name ):
471+ logger.info(f " Request from { name} received " )
472+ return {" statusCode" : 200 , " body" : json.dumps({" message" : f " hello { name} ! " })}
475473
476474
477- @app.get("/hello")
478- def hello():
479- logger.info("Request from unknown received")
480- return {"statusCode": 200, "body": json.dumps({"message": "hello unknown!"})}
475+ @app.get (" /hello" )
476+ def hello ():
477+ logger.info(" Request from unknown received" )
478+ return {" statusCode" : 200 , " body" : json.dumps({" message" : " hello unknown!" })}
481479
482480
483- @logger.inject_lambda_context(correlation_id_path=correlation_paths.API_GATEWAY_REST, log_event=True)
484- def lambda_handler(event, context):
485- return app.resolve(event, context)
486- ```
481+ @logger.inject_lambda_context (correlation_id_path = correlation_paths.API_GATEWAY_REST , log_event = True )
482+ def lambda_handler (event , context ):
483+ return app.resolve(event, context)
484+ ```
487485
488486Let's break this down:
489487
@@ -503,14 +501,13 @@ This is how the logs would look like now:
503501 "message" :" Request from unknown received" ,
504502 "timestamp" :" 2021-10-22 16:29:58,367+0000" ,
505503 "service" :" hello" ,
506- "sampling_rate" :" 0.1" ,
507504 "cold_start" :true ,
508505 "function_name" :" HelloWorldFunction" ,
509506 "function_memory_size" :" 256" ,
510507 "function_arn" :" arn:aws:lambda:us-east-1:123456789012:function:HelloWorldFunction" ,
511508 "function_request_id" :" d50bb07a-7712-4b2d-9f5d-c837302221a2" ,
512509 "correlation_id" :" bf9b584c-e5d9-4ad5-af3d-db953f2b10dc"
513- }
510+ }
514511```
515512
516513From here, we could [ set specific keys] ( ./core/logger.md#append_keys-method ) {target="_ blank"} to add additional contextual information about a given operation, [ log exceptions] ( ./core/logger.md#logging-exceptions ) {target="_ blank"} to easily enumerate them later, [ sample debug logs] ( ./core/logger.md#sampling-debug-logs ) {target="_ blank"}, etc.
0 commit comments