-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(cli): cdk watch for Lambdas with Advanced Logging Controls do not stream logs to the terminal #29451
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The pull request linter has failed. See the aws-cdk-automation comment below for failure reasons. If you believe this pull request should receive an exemption, please comment and provide a justification.
A comment requesting an exemption should contain the text Exemption Request
. Additionally, if clarification is needed add Clarification Request
to a comment.
Exemption Request as this change is only on the |
… into fix-use-logconfig-for-cdk-watch
@scanlonp do you have an update on this matter? thanks. |
@onhate, I should be good to submit it later today. I will keep you updated on the status of the run. |
@Mergifyio update |
✅ Branch has been successfully updated |
➡️ PR build request submitted to A maintainer must now check the pipeline and add the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Passing the test pipeline. Thanks for your patience!
✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
thanks @scanlonp ! :) |
Issue
Closes #29448
Reason for this change
After the release of Advanced Logging Controls for Lambda (see https://aws.amazon.com/blogs/compute/introducing-advanced-logging-controls-for-aws-lambda-functions/) I've decided to move all the logs of my multi-stack deployment to a single unified Log Group per deployed tenant.
It goes likes this:
The main stack creates the LogGroup like
/aws/lambda/{tenant}
;The secondary stacks refers to the LogGroup using
LogGroup.fromLogGroupArn(...)
;Then I discovered that running cdk watch on the main stack I can see the cloudwatch logs on my terminal while on the secondary stacks it does not;
I found at that the cloudwatch log group resolver for the logs basically just assumes the log group is
/aws/lambda/{physicalId}
https://github.com/aws/aws-cdk/blob/main/packages/aws-cdk/lib/api/logs/find-cloudwatch-logs.ts#L114
Description of changes
Use the Template JSON to resolve the
LoggingConfig.LogGroupName
of the Lambda Function;Description of how you validated changes
I've replace the node_modules/aws-cdk of my project with the one built from this PR and I was able to see the logs of my lambda that has custom LogConfig, as you can see it is grabbing the logs of
/aws/lambda/dev
cloudwatch logsChecklist