@@ -454,36 +454,34 @@ We could start by creating a dictionary with Lambda context information or somet
454
454
455
455
As we already have Lambda Powertools as a dependency, we can simply import [ Logger] ( ./core/logger.md ) {target="_ blank"}.
456
456
457
- === "app.py"
457
+ ``` python title="Refactoring with Lambda Powertools Logger" hl_lines="3 5 7 14 20 24"
458
+ import json
458
459
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
461
463
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" )
465
465
466
- logger = Logger(service="order" )
466
+ app = ApiGatewayResolver( )
467
467
468
- app = ApiGatewayResolver()
469
468
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} ! " })}
475
473
476
474
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!" })}
481
479
482
480
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
+ ```
487
485
488
486
Let's break this down:
489
487
@@ -503,14 +501,13 @@ This is how the logs would look like now:
503
501
"message" :" Request from unknown received" ,
504
502
"timestamp" :" 2021-10-22 16:29:58,367+0000" ,
505
503
"service" :" hello" ,
506
- "sampling_rate" :" 0.1" ,
507
504
"cold_start" :true ,
508
505
"function_name" :" HelloWorldFunction" ,
509
506
"function_memory_size" :" 256" ,
510
507
"function_arn" :" arn:aws:lambda:us-east-1:123456789012:function:HelloWorldFunction" ,
511
508
"function_request_id" :" d50bb07a-7712-4b2d-9f5d-c837302221a2" ,
512
509
"correlation_id" :" bf9b584c-e5d9-4ad5-af3d-db953f2b10dc"
513
- }
510
+ }
514
511
```
515
512
516
513
From 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