.. _envoy_v3_api_file_envoy/extensions/access_loggers/file/v3/file.proto:

File access log (proto)
=======================

.. _extension_envoy.access_loggers.file:

This extension has 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.

.. tip::
  This extension extends and can be used with the following extension category:


  - :ref:`envoy.access_loggers <extension_category_envoy.access_loggers>`



  This extension must be configured with one of the following type URLs:



  - :ref:`type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog <envoy_v3_api_msg_extensions.access_loggers.file.v3.FileAccessLog>`







.. _envoy_v3_api_msg_extensions.access_loggers.file.v3.FileAccessLog:

extensions.access_loggers.file.v3.FileAccessLog
-----------------------------------------------


:repo:`[extensions.access_loggers.file.v3.FileAccessLog proto] <api/envoy/extensions/access_loggers/file/v3/file.proto#L26>`

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



.. code-block:: json
  :force:

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

.. _envoy_v3_api_field_extensions.access_loggers.file.v3.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_v3_api_field_extensions.access_loggers.file.v3.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>`.
  This field is deprecated.
  Please use :ref:`log_format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.log_format>`.


  

  Only one of :ref:`format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.format>`, :ref:`json_format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.json_format>`, :ref:`typed_json_format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.typed_json_format>`, :ref:`log_format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.log_format>` may be set.

.. _envoy_v3_api_field_extensions.access_loggers.file.v3.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.
  This field is deprecated.
  Please use :ref:`log_format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.log_format>`.


  

  Only one of :ref:`format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.format>`, :ref:`json_format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.json_format>`, :ref:`typed_json_format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.typed_json_format>`, :ref:`log_format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.log_format>` may be set.

.. _envoy_v3_api_field_extensions.access_loggers.file.v3.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.
  This field is deprecated.
  Please use :ref:`log_format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.log_format>`.


  

  Only one of :ref:`format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.format>`, :ref:`json_format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.json_format>`, :ref:`typed_json_format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.typed_json_format>`, :ref:`log_format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.log_format>` may be set.

.. _envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.log_format:


log_format
  (:ref:`config.core.v3.SubstitutionFormatString <envoy_v3_api_msg_config.core.v3.SubstitutionFormatString>`) Configuration to form access log data and format.
  If not specified, use :ref:`default format <config_access_log_default_format>`.


  

  Only one of :ref:`format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.format>`, :ref:`json_format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.json_format>`, :ref:`typed_json_format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.typed_json_format>`, :ref:`log_format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.log_format>` may be set.