interface LogGroupProps
Language | Type name |
---|---|
.NET | Amazon.CDK.AWS.Logs.LogGroupProps |
Go | github.com/aws/aws-cdk-go/awscdk/v2/awslogs#LogGroupProps |
Java | software.amazon.awscdk.services.logs.LogGroupProps |
Python | aws_cdk.aws_logs.LogGroupProps |
TypeScript (source) | aws-cdk-lib » aws_logs » LogGroupProps |
Properties for a LogGroup.
Example
declare const vpc: ec2.Vpc;
const kmsKey = new kms.Key(this, 'KmsKey');
// Pass the KMS key in the `encryptionKey` field to associate the key to the log group
const logGroup = new logs.LogGroup(this, 'LogGroup', {
encryptionKey: kmsKey,
});
// Pass the KMS key in the `encryptionKey` field to associate the key to the S3 bucket
const execBucket = new s3.Bucket(this, 'EcsExecBucket', {
encryptionKey: kmsKey,
});
const cluster = new ecs.Cluster(this, 'Cluster', {
vpc,
executeCommandConfiguration: {
kmsKey,
logConfiguration: {
cloudWatchLogGroup: logGroup,
cloudWatchEncryptionEnabled: true,
s3Bucket: execBucket,
s3EncryptionEnabled: true,
s3KeyPrefix: 'exec-command-output',
},
logging: ecs.ExecuteCommandLogging.OVERRIDE,
},
});
Properties
Name | Type | Description |
---|---|---|
data | Data | Data Protection Policy for this log group. |
encryption | IKey | The KMS customer managed key to encrypt the log group with. |
log | Log | The class of the log group. Possible values are: STANDARD and INFREQUENT_ACCESS. |
log | string | Name of the log group. |
removal | Removal | Determine the removal policy of this log group. |
retention? | Retention | How long, in days, the log contents will be retained. |
dataProtectionPolicy?
Type:
Data
(optional, default: no data protection policy)
Data Protection Policy for this log group.
encryptionKey?
Type:
IKey
(optional, default: Server-side encrpytion managed by the CloudWatch Logs service)
The KMS customer managed key to encrypt the log group with.
logGroupClass?
Type:
Log
(optional, default: LogGroupClass.STANDARD)
The class of the log group. Possible values are: STANDARD and INFREQUENT_ACCESS.
INFREQUENT_ACCESS class provides customers a cost-effective way to consolidate logs which supports querying using Logs Insights. The logGroupClass property cannot be changed once the log group is created.
logGroupName?
Type:
string
(optional, default: Automatically generated)
Name of the log group.
removalPolicy?
Type:
Removal
(optional, default: RemovalPolicy.Retain)
Determine the removal policy of this log group.
Normally you want to retain the log group so you can diagnose issues from logs even after a deployment that no longer includes the log group. In that case, use the normal date-based retention policy to age out your logs.
retention?
Type:
Retention
(optional, default: RetentionDays.TWO_YEARS)
How long, in days, the log contents will be retained.
To retain all logs, set this value to RetentionDays.INFINITE.