# QueryString

Define a QueryString.

- Source: [`aws-logs/lib/query-definition.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0/packages/aws-cdk-lib/aws-logs/lib/query-definition.ts#L102)
- Type last changed: v2.208.0 · 29 Jul 2025

## Example

```ts
new logs.QueryDefinition(this, 'QueryDefinition', {
  queryDefinitionName: 'MyQuery',
  queryString: new logs.QueryString({
    fields: ['@timestamp', '@message'],
    parseStatements: [
      '@message "[*] *" as loggingType, loggingMessage',
      '@message "<*>: *" as differentLoggingType, differentLoggingMessage',
    ],
    filterStatements: [
      'loggingType = "ERROR"',
      'loggingMessage = "A very strange error occurred!"',
    ],
    statsStatements: [
      'count(loggingMessage) as loggingErrors',
      'count(differentLoggingMessage) as differentLoggingErrors',
    ],
    sort: '@timestamp desc',
    limit: 20,
  }),
});
```

## Initializer

```ts
new QueryString(props?: QueryStringProps)
```

## Properties

- `hasStatsAndStatsStatements`: boolean (required) — If the props for the query string have both stats and statsStatements.

- `statsStatementsLength`: number — Length of statsStatements.

## Methods

- `toString(): string` — String representation of this QueryString.
