mod processor;
pub(crate) use processor::BatchLogRecordProcessorConfig;
pub(crate) use processor::LogRecordLimitsConfig;
pub(crate) use processor::LogRecordProcessor;
pub(crate) use processor::RateLimitedLogRecordProcessorConfig;
use apollo_configuration::configuration;
#[configuration]
pub(crate) struct LoggerProviderConfig {
pub(crate) processors: Vec<LogRecordProcessor>,
pub(crate) limits: LogRecordLimitsConfig,
}
#[cfg(test)]
mod tests {
use apollo_configuration::parse_yaml;
use crate::config::OpenTelemetryConfig;
#[test]
fn parse_logger_provider() {
let config: OpenTelemetryConfig = parse_yaml(
indoc::indoc! {"
logger_provider:
processors:
- batch:
exporter:
console: {}
"},
&Default::default(),
)
.unwrap();
assert!(!config.logger_provider.processors.is_empty());
}
}