java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.envoyproxy.envoy.extensions.access_loggers.dynamic_modules.v3.DynamicModuleAccessLog
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, DynamicModuleAccessLogOrBuilder, Serializable

public final class DynamicModuleAccessLog extends com.google.protobuf.GeneratedMessageV3 implements DynamicModuleAccessLogOrBuilder
 Configuration for the Dynamic Modules Access Logger. This logger allows loading shared object
 files via ``dlopen`` to implement custom access logging behavior.

 A module can be loaded by multiple access loggers; the module is loaded only once and shared
 across multiple logger instances.

 The access logger receives completed request information including request/response headers,
 stream info (timing, upstream info, response codes), and the log context type.
 
Protobuf type envoy.extensions.access_loggers.dynamic_modules.v3.DynamicModuleAccessLog
See Also:
  • Field Details

    • DYNAMIC_MODULE_CONFIG_FIELD_NUMBER

      public static final int DYNAMIC_MODULE_CONFIG_FIELD_NUMBER
      See Also:
    • LOGGER_NAME_FIELD_NUMBER

      public static final int LOGGER_NAME_FIELD_NUMBER
      See Also:
    • LOGGER_CONFIG_FIELD_NUMBER

      public static final int LOGGER_CONFIG_FIELD_NUMBER
      See Also:
  • Method Details

    • newInstance

      protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
      Overrides:
      newInstance in class com.google.protobuf.GeneratedMessageV3
    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
    • hasDynamicModuleConfig

      public boolean hasDynamicModuleConfig()
       Specifies the shared-object level configuration. This field is required.
       
      .envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1 [(.validate.rules) = { ... }
      Specified by:
      hasDynamicModuleConfig in interface DynamicModuleAccessLogOrBuilder
      Returns:
      Whether the dynamicModuleConfig field is set.
    • getDynamicModuleConfig

      public DynamicModuleConfig getDynamicModuleConfig()
       Specifies the shared-object level configuration. This field is required.
       
      .envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1 [(.validate.rules) = { ... }
      Specified by:
      getDynamicModuleConfig in interface DynamicModuleAccessLogOrBuilder
      Returns:
      The dynamicModuleConfig.
    • getDynamicModuleConfigOrBuilder

      public DynamicModuleConfigOrBuilder getDynamicModuleConfigOrBuilder()
       Specifies the shared-object level configuration. This field is required.
       
      .envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1 [(.validate.rules) = { ... }
      Specified by:
      getDynamicModuleConfigOrBuilder in interface DynamicModuleAccessLogOrBuilder
    • getLoggerName

      public String getLoggerName()
       The name for this logger configuration. If not specified, defaults to an empty string.
      
       This can be used to distinguish between different logger implementations inside a dynamic
       module. For example, a module can have completely different logger implementations (e.g.,
       file logger, gRPC logger, metrics logger). When Envoy receives this configuration, it passes
       the ``logger_name`` to the dynamic module's access logger config init function together with
       the ``logger_config``. That way a module can decide which in-module logger implementation to
       use based on the name at load time.
       
      string logger_name = 2;
      Specified by:
      getLoggerName in interface DynamicModuleAccessLogOrBuilder
      Returns:
      The loggerName.
    • getLoggerNameBytes

      public com.google.protobuf.ByteString getLoggerNameBytes()
       The name for this logger configuration. If not specified, defaults to an empty string.
      
       This can be used to distinguish between different logger implementations inside a dynamic
       module. For example, a module can have completely different logger implementations (e.g.,
       file logger, gRPC logger, metrics logger). When Envoy receives this configuration, it passes
       the ``logger_name`` to the dynamic module's access logger config init function together with
       the ``logger_config``. That way a module can decide which in-module logger implementation to
       use based on the name at load time.
       
      string logger_name = 2;
      Specified by:
      getLoggerNameBytes in interface DynamicModuleAccessLogOrBuilder
      Returns:
      The bytes for loggerName.
    • hasLoggerConfig

      public boolean hasLoggerConfig()
       The configuration for the logger chosen by ``logger_name``. If not specified, an empty
       configuration is passed to the module.
      
       This is passed to the module's access logger initialization function. Together with the
       ``logger_name``, the module can decide which in-module logger implementation to use and
       fine-tune the behavior of the logger.
      
       For example, if a module has two logger implementations, one for file output and one for
       sending to an external service, ``logger_name`` is used to choose either file or external.
       The ``logger_config`` can be used to configure file paths, service endpoints, batching
       parameters, format strings, etc.
      
       ``google.protobuf.Struct`` is serialized as JSON before passing it to the module.
       ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly
       without the wrapper.
      
       .. code-block:: yaml
      
        # Passing a JSON struct configuration
        logger_config:
          "@type": "type.googleapis.com/google.protobuf.Struct"
          value:
            output_path: "/var/log/envoy/access.log"
            format: "json"
            buffer_size: 1000
      
        # Passing a simple string configuration
        logger_config:
          "@type": "type.googleapis.com/google.protobuf.StringValue"
          value: "/var/log/envoy/access.log"
       
      .google.protobuf.Any logger_config = 3;
      Specified by:
      hasLoggerConfig in interface DynamicModuleAccessLogOrBuilder
      Returns:
      Whether the loggerConfig field is set.
    • getLoggerConfig

      public com.google.protobuf.Any getLoggerConfig()
       The configuration for the logger chosen by ``logger_name``. If not specified, an empty
       configuration is passed to the module.
      
       This is passed to the module's access logger initialization function. Together with the
       ``logger_name``, the module can decide which in-module logger implementation to use and
       fine-tune the behavior of the logger.
      
       For example, if a module has two logger implementations, one for file output and one for
       sending to an external service, ``logger_name`` is used to choose either file or external.
       The ``logger_config`` can be used to configure file paths, service endpoints, batching
       parameters, format strings, etc.
      
       ``google.protobuf.Struct`` is serialized as JSON before passing it to the module.
       ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly
       without the wrapper.
      
       .. code-block:: yaml
      
        # Passing a JSON struct configuration
        logger_config:
          "@type": "type.googleapis.com/google.protobuf.Struct"
          value:
            output_path: "/var/log/envoy/access.log"
            format: "json"
            buffer_size: 1000
      
        # Passing a simple string configuration
        logger_config:
          "@type": "type.googleapis.com/google.protobuf.StringValue"
          value: "/var/log/envoy/access.log"
       
      .google.protobuf.Any logger_config = 3;
      Specified by:
      getLoggerConfig in interface DynamicModuleAccessLogOrBuilder
      Returns:
      The loggerConfig.
    • getLoggerConfigOrBuilder

      public com.google.protobuf.AnyOrBuilder getLoggerConfigOrBuilder()
       The configuration for the logger chosen by ``logger_name``. If not specified, an empty
       configuration is passed to the module.
      
       This is passed to the module's access logger initialization function. Together with the
       ``logger_name``, the module can decide which in-module logger implementation to use and
       fine-tune the behavior of the logger.
      
       For example, if a module has two logger implementations, one for file output and one for
       sending to an external service, ``logger_name`` is used to choose either file or external.
       The ``logger_config`` can be used to configure file paths, service endpoints, batching
       parameters, format strings, etc.
      
       ``google.protobuf.Struct`` is serialized as JSON before passing it to the module.
       ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly
       without the wrapper.
      
       .. code-block:: yaml
      
        # Passing a JSON struct configuration
        logger_config:
          "@type": "type.googleapis.com/google.protobuf.Struct"
          value:
            output_path: "/var/log/envoy/access.log"
            format: "json"
            buffer_size: 1000
      
        # Passing a simple string configuration
        logger_config:
          "@type": "type.googleapis.com/google.protobuf.StringValue"
          value: "/var/log/envoy/access.log"
       
      .google.protobuf.Any logger_config = 3;
      Specified by:
      getLoggerConfigOrBuilder in interface DynamicModuleAccessLogOrBuilder
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessageV3
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessageV3
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessageV3
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static DynamicModuleAccessLog parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static DynamicModuleAccessLog parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static DynamicModuleAccessLog parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static DynamicModuleAccessLog parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static DynamicModuleAccessLog parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static DynamicModuleAccessLog parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static DynamicModuleAccessLog parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static DynamicModuleAccessLog parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static DynamicModuleAccessLog parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static DynamicModuleAccessLog parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static DynamicModuleAccessLog parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static DynamicModuleAccessLog parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public DynamicModuleAccessLog.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static DynamicModuleAccessLog.Builder newBuilder()
    • newBuilder

      public static DynamicModuleAccessLog.Builder newBuilder(DynamicModuleAccessLog prototype)
    • toBuilder

      public DynamicModuleAccessLog.Builder toBuilder()
      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected DynamicModuleAccessLog.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
      Specified by:
      newBuilderForType in class com.google.protobuf.GeneratedMessageV3
    • getDefaultInstance

      public static DynamicModuleAccessLog getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<DynamicModuleAccessLog> parser()
    • getParserForType

      public com.google.protobuf.Parser<DynamicModuleAccessLog> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessageV3
    • getDefaultInstanceForType

      public DynamicModuleAccessLog getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder