# GelfLogDriverProps

Specifies the journald log driver configuration options.

[Source](https://docs.docker.com/config/containers/logging/gelf/)

Extends: GelfLogDriverProps
Extends: BaseLogDriverProps
Used as props by: GelfLogDriver

- Source: [`aws-ecs/lib/log-drivers/gelf-log-driver.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0/packages/aws-cdk-lib/aws-ecs/lib/log-drivers/gelf-log-driver.ts#L23)

## Example

```ts
// Create a Task Definition for the container to start
const taskDefinition = new ecs.Ec2TaskDefinition(this, 'TaskDef');
taskDefinition.addContainer('TheContainer', {
  image: ecs.ContainerImage.fromRegistry('example-image'),
  memoryLimitMiB: 256,
  logging: ecs.LogDrivers.gelf({ address: 'my-gelf-address' }),
});
```

## Properties

- `address`: string (required) — The address of the GELF server.

  tcp and udp are the only supported URI
  specifier and you must specify the port.

- `compressionLevel`: number = 1 — UDP Only The level of compression when gzip or zlib is the gelf-compression-type.

  An integer in the range of -1 to 9 (BestCompression). Higher levels provide more
  compression at lower speed. Either -1 or 0 disables compression.

- `compressionType`: [GelfCompressionType](/cdk/api/v2/docs/aws-cdk-lib.aws_ecs.GelfCompressionType.html) = gzip — UDP Only The type of compression the GELF driver uses to compress each log message.

  Allowed values are gzip, zlib and none.

- `env`: string[] — The env option takes an array of keys.

  **Default:** No env

  If there is collision between
  label and env keys, the value of the env takes precedence. Adds additional fields
  to the extra attributes of a logging message.

- `envRegex`: string — The env-regex option is similar to and compatible with env.

  **Default:** No envRegex

  Its value is a regular
  expression to match logging-related environment variables. It is used for advanced
  log tag options.

- `labels`: string[] — The labels option takes an array of keys.

  **Default:** No labels

  If there is collision
  between label and env keys, the value of the env takes precedence. Adds additional
  fields to the extra attributes of a logging message.

- `tag`: string — By default, Docker uses the first 12 characters of the container ID to tag log messages.

  **Default:** The first 12 characters of the container ID

  Refer to the log tag option documentation for customizing the
  log tag format.

- `tcpMaxReconnect`: number = 3 — TCP Only The maximum number of reconnection attempts when the connection drop.

  A positive integer.

- `tcpReconnectDelay`: [Duration](/cdk/api/v2/docs/aws-cdk-lib.Duration.html) = 1 — TCP Only The number of seconds to wait between reconnection attempts.

  A positive integer.
