.. _arch_overview_access_logs: Access logging ============== The :ref:`HTTP connection manager ` and :ref:`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 :ref:`listener access logs`. The listener access logs complement HTTP request access logging and can be enabled separately and independently from filter access logs. .. _arch_overview_access_log_filters: Access log filters ------------------ Envoy supports several built-in :ref:`access log filters` and :ref:`extension filters` that are registered at runtime. .. _arch_overview_access_logs_sinks: 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 --------------- * Access log :ref:`configuration `. * File :ref:`access log sink `. * gRPC :ref:`Access Log Service (ALS) ` sink. * OpenTelemetry (gRPC) :ref:`LogsService ` * Stdout :ref:`access log sink ` * Stderr :ref:`access log sink `