pub mod batching;
pub mod context;
pub mod error;
pub mod noop;
pub mod traits;
pub mod adapters;
pub mod domain;
pub mod extension;
pub mod ports;
pub use batching::{BatchingConfig, BatchingManager};
pub use context::{
ContextFuture,
HeaderExtractor,
HeaderInjector,
TraceContext,
W3CTraceContext,
clear_current_context,
get_current_context,
set_current_context,
with_context,
with_context_future,
};
pub use error::{ObservabilityError, ObservabilityResult};
pub use noop::NoOpObservabilityPlugin;
pub use traits::{
LogLevel, MetricsCollector, ObservabilityPlugin, SpanGuard, SpanStatus, StructuredLogger,
};
pub use adapters::{
CompactJsonFormatter, JsonFormatter, LogDirectives, StandardLogAdapter,
UnifiedWasmStdoutAdapter, WasmStdoutAdapter, WasmStdoutMetricsAdapter,
};
#[cfg(feature = "structured-logging")]
pub use adapters::{TracingIntegrationBuilder, TracingSubscriberAdapter};
pub use domain::{
BasicMetricType, EnhancedContextEnricher, LogEntry, LogKvExtractor, MetricsEntry,
MetricsSource, ProcessorChain, TraceCorrelation, create_counter_metric, create_gauge_metric,
create_histogram_metric,
};
pub use extension::{
GlobalLoggerSingleton, ObservabilityConfig, ObservabilityManager, create_observability_manager,
};
pub use ports::{
BatchingPort, ContextPort, FormatterPort, MetricsPort, StandardLoggingPort, TransportPort,
};
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
pub const DEFAULT_BATCH_SIZE: usize = 100;
pub const DEFAULT_FLUSH_INTERVAL_SECS: u64 = 5;