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) 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.
- Alphabetic
- By Inheritance
- ApiLoggingConfig
- Serializable
- Product
- Equals
- UniformCantonConfigValidation
- CustomCantonConfigValidation
- CantonConfigValidation
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- 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)
- 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.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- 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
- UniformCantonConfigValidation → CustomCantonConfigValidation
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val maxMessageLines: Int
- val maxMetadataSize: Int
- val maxMethodLength: Int
- val maxStringLength: Int
- val messagePayloads: Boolean
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- lazy val printer: CantonPrettyPrinter
Pretty printer for logging event details
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- final def validate[T >: ApiLoggingConfig.this.type](edition: CantonEdition)(implicit validator: CantonConfigValidator[T]): Either[NonEmpty[Seq[CantonConfigValidationError]], Unit]
- Definition Classes
- CantonConfigValidation
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- val warnBeyondLoad: Option[Int]