--- title: Stdio description: Adapter for outputting logs and metrics locally. location: https://istio.io/docs/reference/config/policy-and-telemetry/adapters/stdio.html layout: protoc-gen-docs generator: protoc-gen-docs aliases: - /docs/reference/config/adapters/stdio.html number_of_entries: 3 ---

The `stdio` adapter enables Istio to output logs and metrics to the local machine. Logs and metrics can be directed to Mixer’s standard output stream, standard error stream, or to any locally reachable file. When outputting to files, you can enable file rotation such that the adapter will automatically manage a set of file backups as data is generated.

This adapter supports the logentry template. and the metric template.

## Params

Configuration format for the `stdio` adapter

Field | Type | Description
--- | --- | ---
`logStream` | `Params.Stream` | Selects which standard stream to write to for log entries. STDERR is the default Stream.
`severityLevels` | `map<string, Params.Level>` | Maps from severity strings as specified in LogEntry instances to the set of levels supported by this adapter. This defaults to a map of
    "INFORMATIONAL" : INFO,
    "informational" : INFO,
    "INFO" : INFO,
    "info" : INFO,
    "WARNING" : WARNING,
    "warning" : WARNING,
    "WARN": WARNING,
    "warning": WARNING,
    "ERROR": ERROR,
    "error": ERROR,
    "ERR": ERROR,
    "err": ERROR,
    "FATAL": ERROR,
    "fatal": ERROR,
`metricLevel` | `Params.Level` | The level to assign to metrics being output. Defaults to INFO.
`outputAsJson` | `bool` | Whether to output a console-friendly or json-friendly format. Defaults to true.
`outputLevel` | `Params.Level` | The minimum level to output, anything less than this level is ignored. Defaults to INFO (everything).
`outputPath` | `string` | The file system path when outputting to a file or rotating file. When using rotated log files, this path is used as a foundational path. This is where log output is normally saved. When a rotation needs to take place because the file got too big or too old, then the file is renamed by appending a timestamp to the name. Such renamed files are called backups. Once a backup has been created, output resumes to this path.
`maxMegabytesBeforeRotation` | `int32` | The maximum size in megabytes of a log file before it gets rotated. It defaults to 100 megabytes.
`maxDaysBeforeRotation` | `int32` | The maximum number of days to retain old rotated log files based on the timestamp encoded in their filename. Note that a day is defined as 24 hours and may not exactly correspond to calendar days due to daylight savings, leap seconds, etc. The default is to remove log files older than 30 days. 0 indicates no limit.
`maxRotatedFiles` | `int32` | The maximum number of old rotated log files to retain. The default is to retain at most 1000 logs. 0 indicates no limit.

## Params.Level

Importance level for individual items output by this adapter.

Name | Description
--- | ---
`INFO` | informational, warning, and error log messages are included
`WARNING` | warning and error log messges are included
`ERROR` | only error log messages are included

## Params.Stream

Stream is used to select between different log output sinks.

Name | Description
--- | ---
`STDOUT` | Output to the Mixer process’ standard output stream. This is the default value.
`STDERR` | Output to the Mixer process’ standard error stream.
`FILE` | Output to a specific file.
`ROTATED_FILE` | Output to a specific rotating file, controlled by the various file rotation options.