file.proto 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. syntax = "proto3";
  2. package envoy.extensions.access_loggers.file.v3;
  3. import "envoy/config/core/v3/substitution_format_string.proto";
  4. import "google/protobuf/struct.proto";
  5. import "envoy/annotations/deprecation.proto";
  6. import "udpa/annotations/status.proto";
  7. import "udpa/annotations/versioning.proto";
  8. import "validate/validate.proto";
  9. option java_package = "io.envoyproxy.envoy.extensions.access_loggers.file.v3";
  10. option java_outer_classname = "FileProto";
  11. option java_multiple_files = true;
  12. option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/access_loggers/file/v3;filev3";
  13. option (udpa.annotations.file_status).package_version_status = ACTIVE;
  14. // [#protodoc-title: File access log]
  15. // [#extension: envoy.access_loggers.file]
  16. // Custom configuration for an :ref:`AccessLog <envoy_v3_api_msg_config.accesslog.v3.AccessLog>`
  17. // that writes log entries directly to a file. Configures the built-in *envoy.access_loggers.file*
  18. // AccessLog.
  19. // [#next-free-field: 6]
  20. message FileAccessLog {
  21. option (udpa.annotations.versioning).previous_message_type =
  22. "envoy.config.accesslog.v2.FileAccessLog";
  23. // A path to a local file to which to write the access log entries.
  24. string path = 1 [(validate.rules).string = {min_len: 1}];
  25. oneof access_log_format {
  26. // Access log :ref:`format string<config_access_log_format_strings>`.
  27. // Envoy supports :ref:`custom access log formats <config_access_log_format>` as well as a
  28. // :ref:`default format <config_access_log_default_format>`.
  29. // This field is deprecated.
  30. // Please use :ref:`log_format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.log_format>`.
  31. string format = 2 [deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"];
  32. // Access log :ref:`format dictionary<config_access_log_format_dictionaries>`. All values
  33. // are rendered as strings.
  34. // This field is deprecated.
  35. // Please use :ref:`log_format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.log_format>`.
  36. google.protobuf.Struct json_format = 3
  37. [deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"];
  38. // Access log :ref:`format dictionary<config_access_log_format_dictionaries>`. Values are
  39. // rendered as strings, numbers, or boolean values as appropriate. Nested JSON objects may
  40. // be produced by some command operators (e.g.FILTER_STATE or DYNAMIC_METADATA). See the
  41. // documentation for a specific command operator for details.
  42. // This field is deprecated.
  43. // Please use :ref:`log_format <envoy_v3_api_field_extensions.access_loggers.file.v3.FileAccessLog.log_format>`.
  44. google.protobuf.Struct typed_json_format = 4
  45. [deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"];
  46. // Configuration to form access log data and format.
  47. // If not specified, use :ref:`default format <config_access_log_default_format>`.
  48. config.core.v3.SubstitutionFormatString log_format = 5
  49. [(validate.rules).message = {required: true}];
  50. }
  51. }