in powertools-logging/src/main/java/software/amazon/lambda/powertools/logging/internal/LambdaLoggingAspect.java [125:153]
private void setLogLevelBasedOnSamplingRate(final ProceedingJoinPoint pjp,
final Logging logging) {
double samplingRate = samplingRate(logging);
if (isHandlerMethod(pjp)) {
if (samplingRate < 0 || samplingRate > 1) {
LOG.debug("Skipping sampling rate configuration because of invalid value. Sampling rate: {}", samplingRate);
return;
}
appendKey("samplingRate", String.valueOf(samplingRate));
if (samplingRate == 0) {
return;
}
float sample = SAMPLER.nextFloat();
if (samplingRate > sample) {
resetLogLevels(Level.DEBUG);
LOG.debug("Changed log level to DEBUG based on Sampling configuration. " +
"Sampling Rate: {}, Sampler Value: {}.", samplingRate, sample);
} else if (LEVEL_AT_INITIALISATION != LOG.getLevel()) {
resetLogLevels(LEVEL_AT_INITIALISATION);
}
}
}