Access logging

The HTTP connection manager and tcp proxy support extensible access logging with the following features:

  • Any number of access logs per a connection stream.

  • Customizable access log filters that allow different types of requests and responses to be written to different access logs.

Downstream connection access logging can be enabled using listener access logs. The listener access logs complement HTTP request access logging and can be enabled separately and independently from filter access logs.

Access log filters

Envoy supports several built-in access log filters and extension filters that are registered at runtime.

Access logging sinks

Envoy supports pluggable access logging sinks. The currently supported sinks are:

File

  • Asynchronous IO flushing architecture. Access logging will never block the main network processing threads.

  • Customizable access log formats using predefined fields as well as arbitrary HTTP request and response headers.

gRPC

  • Envoy can send access log messages to a gRPC access logging service.

Stdout

  • Asynchronous IO flushing architecture. Access logging will never block the main network processing threads.

  • Customizable access log formats using predefined fields as well as arbitrary HTTP request and response headers.

  • Writes to the standard output of the process. It works in all platforms.

Stderr

  • Asynchronous IO flushing architecture. Access logging will never block the main network processing threads.

  • Customizable access log formats using predefined fields as well as arbitrary HTTP request and response headers.

  • Writes to the standard error of the process. It works in all platforms.

Further reading