.. _envoy_api_file_envoy/config/accesslog/v2/file.proto:

File access log
===============

.. _extension_envoy.access_loggers.file:


This extension may be referenced by the qualified name *envoy.access_loggers.file*

.. note::
  

  This extension is intended to be robust against untrusted downstream traffic. It assumes that the upstream is trusted.


.. _envoy_api_msg_config.accesslog.v2.FileAccessLog:

config.accesslog.v2.FileAccessLog
---------------------------------

`[config.accesslog.v2.FileAccessLog proto] <https://github.com/envoyproxy/envoy/blob/v1.15.4/api/envoy/config/accesslog/v2/file.proto#L22>`_

Custom configuration for an :ref:`AccessLog <envoy_api_msg_config.filter.accesslog.v2.AccessLog>`
that writes log entries directly to a file. Configures the built-in *envoy.access_loggers.file*
AccessLog.

.. code-block:: json

  {
    "path": "...",
    "format": "...",
    "json_format": "{...}",
    "typed_json_format": "{...}"
  }

.. _envoy_api_field_config.accesslog.v2.FileAccessLog.path:

path
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_, *REQUIRED*) A path to a local file to which to write the access log entries.
  
  
.. _envoy_api_field_config.accesslog.v2.FileAccessLog.format:

format
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_) Access log :ref:`format string<config_access_log_format_strings>`.
  Envoy supports :ref:`custom access log formats <config_access_log_format>` as well as a
  :ref:`default format <config_access_log_default_format>`.
  
  
  
  Only one of :ref:`format <envoy_api_field_config.accesslog.v2.FileAccessLog.format>`, :ref:`json_format <envoy_api_field_config.accesslog.v2.FileAccessLog.json_format>`, :ref:`typed_json_format <envoy_api_field_config.accesslog.v2.FileAccessLog.typed_json_format>` may be set.
  
.. _envoy_api_field_config.accesslog.v2.FileAccessLog.json_format:

json_format
  (`Struct <https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct>`_) Access log :ref:`format dictionary<config_access_log_format_dictionaries>`. All values
  are rendered as strings.
  
  
  
  Only one of :ref:`format <envoy_api_field_config.accesslog.v2.FileAccessLog.format>`, :ref:`json_format <envoy_api_field_config.accesslog.v2.FileAccessLog.json_format>`, :ref:`typed_json_format <envoy_api_field_config.accesslog.v2.FileAccessLog.typed_json_format>` may be set.
  
.. _envoy_api_field_config.accesslog.v2.FileAccessLog.typed_json_format:

typed_json_format
  (`Struct <https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct>`_) Access log :ref:`format dictionary<config_access_log_format_dictionaries>`. Values are
  rendered as strings, numbers, or boolean values as appropriate. Nested JSON objects may
  be produced by some command operators (e.g.FILTER_STATE or DYNAMIC_METADATA). See the
  documentation for a specific command operator for details.
  
  
  
  Only one of :ref:`format <envoy_api_field_config.accesslog.v2.FileAccessLog.format>`, :ref:`json_format <envoy_api_field_config.accesslog.v2.FileAccessLog.json_format>`, :ref:`typed_json_format <envoy_api_field_config.accesslog.v2.FileAccessLog.typed_json_format>` may be set.