-
Notifications
You must be signed in to change notification settings - Fork 4k
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
(stepfunctions): cannot disable StateMachine logging with removing LogGroup #30814
Comments
Thanks @Tietew for reporting this issue. |
Does setting new sfn.StateMachine(stack, 'StateMachine', {
definitionBody: sfn.DefinitionBody.fromChainable(...),
}); |
@wong-a setting |
If this is true, it sounds like an issue to fix in CloudFormation resource instead of CDK |
### Issue # (if applicable) Closes #30814. ### Reason for this change To disable logging on a StateMachine (with logging enabled), we should specify `LogLevel.OFF` to `LogOptions.level`. But cannot remove the LogGroup because `LogOptions.destination` is required. ``` ts new sfn.StateMachine(this, 'StateMachine', { definitionBody: ..., logs: { level: sfn.LogLevel.OFF } // allow to disable logging }); ``` ### Description of changes - Make `LogOptions.destination` optional. - Validate `LogOptions.destination` is present when `LogOptions.level` is not `OFF`. ### Description of how you validated changes Unit and integ tests that verify `LogOptions.destination` is opitional when `LogOptions.level` is `OFF` and throw an exception otherwise. ### Checklist - [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md) ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Comments on closed issues and PRs are hard for our team to see. |
) ### Issue # (if applicable) Closes aws#30814. ### Reason for this change To disable logging on a StateMachine (with logging enabled), we should specify `LogLevel.OFF` to `LogOptions.level`. But cannot remove the LogGroup because `LogOptions.destination` is required. ``` ts new sfn.StateMachine(this, 'StateMachine', { definitionBody: ..., logs: { level: sfn.LogLevel.OFF } // allow to disable logging }); ``` ### Description of changes - Make `LogOptions.destination` optional. - Validate `LogOptions.destination` is present when `LogOptions.level` is not `OFF`. ### Description of how you validated changes Unit and integ tests that verify `LogOptions.destination` is opitional when `LogOptions.level` is `OFF` and throw an exception otherwise. ### Checklist - [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md) ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Describe the bug
When I have a StateMachine with logging enabled,
to disable logging still requires an existing LogGroup.
Expected Behavior
This configuration should be correct:
Current Behavior
TypeScript compile error occurs:
Omitting
logs
property does not modify StateMachine's logging configuration.Reproduction Steps
Deploy a StateMachine described in Expected Behavior.
Possible Solution
Make
LogOptions.destination
optional.CDK should also verify
destination
is specified (or create one) whenlevel
is not OFF.Additional Information/Context
CloudFormation Documentation says:
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-loggingconfiguration.html
Workaround (Escape hatch):
CDK CLI Version
2.148.0
Framework Version
No response
Node.js Version
v20.15.1
OS
Ubuntu
Language
TypeScript
Language Version
No response
Other information
No response
The text was updated successfully, but these errors were encountered: