Packages

final case class ApiLoggingConfig(messagePayloads: Boolean = false, maxMethodLength: Int = ApiLoggingConfig.defaultMaxMethodLength, maxMessageLines: Int = ApiLoggingConfig.defaultMaxMessageLines, maxStringLength: Int = ApiLoggingConfig.defaultMaxStringLength, maxMetadataSize: Int = ApiLoggingConfig.defaultMaxMetadataSize, warnBeyondLoad: Option[Int] = ApiLoggingConfig.defaultWarnBeyondLoad, debugInProcessRequests: Boolean = false, prefixGrpcAddresses: Boolean = true) extends UniformCantonConfigValidation with Product with Serializable

Control logging of the ApiRequestLogger

Every GRPC service invocation is logged through the ApiRequestLogger. This allows to monitor all incoming traffic to a node (ledger API, sequencer API, admin API).

messagePayloads

Indicates whether to log message payloads. (To be disabled in production!) Also applies to metadata.

maxMethodLength

indicates how much to abbreviate the name of the called method. E.g. "com.digitalasset.canton.MyMethod" may get abbreviated to "c.d.c.MyMethod". The last token will never get abbreviated.

maxMessageLines

maximum number of lines to log for a message

maxStringLength

maximum number of characters to log for a string within a message

maxMetadataSize

maximum size of metadata

warnBeyondLoad

If API logging is turned on, emit a warning on each request if the load exceeds this threshold.

debugInProcessRequests

grpc in-process communication is logged with DEBUG level otherwise only in TRACE

prefixGrpcAddresses

Prefix connecting gRPC client addresses with "grpc:" (default: true, false for full backwards compatibility). http is always prefixed with "http:"

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ApiLoggingConfig
  2. Serializable
  3. Product
  4. Equals
  5. UniformCantonConfigValidation
  6. CustomCantonConfigValidation
  7. CantonConfigValidation
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new ApiLoggingConfig(messagePayloads: Boolean = false, maxMethodLength: Int = ApiLoggingConfig.defaultMaxMethodLength, maxMessageLines: Int = ApiLoggingConfig.defaultMaxMessageLines, maxStringLength: Int = ApiLoggingConfig.defaultMaxStringLength, maxMetadataSize: Int = ApiLoggingConfig.defaultMaxMetadataSize, warnBeyondLoad: Option[Int] = ApiLoggingConfig.defaultWarnBeyondLoad, debugInProcessRequests: Boolean = false, prefixGrpcAddresses: Boolean = true)

    messagePayloads

    Indicates whether to log message payloads. (To be disabled in production!) Also applies to metadata.

    maxMethodLength

    indicates how much to abbreviate the name of the called method. E.g. "com.digitalasset.canton.MyMethod" may get abbreviated to "c.d.c.MyMethod". The last token will never get abbreviated.

    maxMessageLines

    maximum number of lines to log for a message

    maxStringLength

    maximum number of characters to log for a string within a message

    maxMetadataSize

    maximum size of metadata

    warnBeyondLoad

    If API logging is turned on, emit a warning on each request if the load exceeds this threshold.

    debugInProcessRequests

    grpc in-process communication is logged with DEBUG level otherwise only in TRACE

    prefixGrpcAddresses

    Prefix connecting gRPC client addresses with "grpc:" (default: true, false for full backwards compatibility). http is always prefixed with "http:"

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. val debugInProcessRequests: Boolean
  7. final def doValidate(edition: CantonEdition): Seq[CantonConfigValidationError]

    Returns all validation errors that are specific to this Canton configuration class.

    Returns all validation errors that are specific to this Canton configuration class. Successful validation should return an empty sequence.

    Validation errors of subconfigurations should not be reported by this method, but via the type class derivation.

    Attributes
    protected
    Definition Classes
    UniformCantonConfigValidationCustomCantonConfigValidation
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. val maxMessageLines: Int
  12. val maxMetadataSize: Int
  13. val maxMethodLength: Int
  14. val maxStringLength: Int
  15. val messagePayloads: Boolean
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. val prefixGrpcAddresses: Boolean
  20. lazy val printer: CantonPrettyPrinter

    Pretty printer for logging event details

  21. def productElementNames: Iterator[String]
    Definition Classes
    Product
  22. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  23. final def validate[T >: ApiLoggingConfig.this.type](edition: CantonEdition)(implicit validator: CantonConfigValidator[T]): Either[NonEmpty[Seq[CantonConfigValidationError]], Unit]
    Definition Classes
    CantonConfigValidation
  24. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  25. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  26. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  27. val warnBeyondLoad: Option[Int]

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from CantonConfigValidation

Inherited from AnyRef

Inherited from Any

Ungrouped