sampled

fun KLogger.sampled(sampler: Sampler = Sampler.rateLimiting(1L)): KLogger

Returns a logger that samples logs. This logger MUST be instantiated statically, in a companion object or as a Singleton.

To use default sampler (rate limited to 1 log per second):

val logger = getLogger<MyClass>().sampled()

To get a rate limited logger:

val logger = getLogger<MyClass>().sampled((Sampler.rateLimiting(RATE_PER_SECOND))

To get a probabilistic sampler

val logger = getLogger<MyClass>().sampled(Sampler.percentage(PERCENTAGE_TO_ALLOW))

Return

wrapped logger instance

Parameters

sampler

Sampler to use to sample logs