# LogConfig

Logging configuration for AppSync.

- Source: [`aws-appsync/lib/graphqlapi.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-appsync/lib/graphqlapi.ts#L221)
- Type last changed: v2.224.0 · 13 Nov 2025

## Example

```ts
import * as logs from 'aws-cdk-lib/aws-logs';

new appsync.GraphqlApi(this, 'api', {
  authorizationConfig: {},
  name: 'myApi',
  definition: appsync.Definition.fromFile(path.join(__dirname, 'myApi.graphql')),
  logConfig: {
    fieldLogLevel: appsync.FieldLogLevel.INFO,
    retention: logs.RetentionDays.ONE_WEEK,
  },
});
```

## Properties

- `excludeVerboseContent`: boolean | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) = false — exclude verbose content.

- `fieldLogLevel`: [FieldLogLevel](/cdk/api/v2/docs/aws-cdk-lib.aws_appsync.FieldLogLevel.html) — log level for fields.

  **Default:** Use AppSync default

- `retention`: [RetentionDays](/cdk/api/v2/docs/aws-cdk-lib.aws_logs.RetentionDays.html) = RetentionDays.INFINITE — The number of days log events are kept in CloudWatch Logs.

  By default AppSync keeps the logs infinitely. When updating this property,
  unsetting it doesn't remove the log retention policy.
  To remove the retention policy, set the value to `INFINITE`

- `role`: [IRoleRef](/cdk/api/v2/docs/aws-cdk-lib.interfaces.aws_iam.IRoleRef.html) = None — The role for CloudWatch Logs.
