#![forbid(unsafe_code)]
#![warn(rust_2024_compatibility, missing_docs, missing_debug_implementations)]
#![cfg_attr(
test,
allow(
clippy::unwrap_used,
clippy::expect_used,
clippy::panic,
clippy::indexing_slicing
)
)]
mod init;
mod self_event_builder;
pub use init::{InitBuilder, InitError, InitGuard, ServicePreset, init_for_service};
pub use obs_core::__private::secrecy;
#[cfg(feature = "dev")]
pub use obs_core::sink::FormatterStyle;
pub use obs_core::{
BuildableTo, Cardinality, Classification, ENVELOPE_FORMAT_VER, Emit, EnumCount, EventSchema,
EventsConfig, FanOutSink, FieldCapture, FieldKind, FieldMeta, FieldRole, Filter,
InMemoryHandle, InMemoryObserver, InMemorySink, Instrument, Instrumented, LevelSplitWriter,
MakeWriter, MetricEmitter, MetricKind, NdjsonFileSink, NonBlockingWriter, NoopObserver,
NoopSink, ObsBatch, ObsCallsite, ObsEnvelope, ObsTraceCtx, Observer, RollingFileWriter,
RollingFileWriterBuilder, RollingPolicy, SamplingConfig, SamplingReason, ScopeField,
ScopeFrame, ScopeFrameBuilder, ScopeGuard, ScopeKind, ScrubbedEnvelope, Severity, Sink,
SpanCtx, SpanFrame, SpanTrace, StandardObserver, StandardObserverBuilder, StderrWriter,
StdoutSink, StdoutWriter, TeeWriter, Tier, W3cPropagator, WithObserver, WorkerCounters,
WorkerGuard, extract_w3c, fresh_span_id, fresh_trace_id, inject_w3c, install_observer,
install_panic_hook, now_ns, observer, observer_weak, self_event, status_class,
with_observer_task, with_observer_task_sync, with_observer_thread_local, with_test_observer,
};
pub use obs_core::{sink, wire};
#[cfg(feature = "live-tail")]
pub use obs_live_tail as live_tail;
pub use obs_macros::{Event, context, emit, forensic, include_schemas, instrument, scope};
#[cfg(feature = "otel")]
pub use obs_otel as otel;
#[cfg(feature = "prom")]
pub use obs_prom as prom;
pub use obs_proto::obs::v1::{ObsFnEntered, ObsFnExecuted, ObsForensicEvent};
#[cfg(feature = "batch-sink")]
pub use obs_sink_batch as sink_batch;
#[cfg(feature = "tracing-bridge")]
pub use obs_tracing_bridge as tracing_bridge;
pub use self_event_builder::SelfEventBuilder;
#[cfg(feature = "test")]
pub mod test {
pub use obs_core::test::*;
pub use obs_macros::test;
}
#[doc(hidden)]
pub use obs_core::__private;
pub const TRACE: Severity = Severity::SEVERITY_TRACE;
pub const DEBUG: Severity = Severity::SEVERITY_DEBUG;
pub const INFO: Severity = Severity::SEVERITY_INFO;
pub const WARN: Severity = Severity::SEVERITY_WARN;
pub const ERROR: Severity = Severity::SEVERITY_ERROR;
pub const FATAL: Severity = Severity::SEVERITY_FATAL;
pub mod proto {
pub use buffa::{EnumValue, Enumeration, SizeCache};
pub use obs_proto::obs::v1::{ObsBatch, ObsEnvelope, SamplingReason, Severity, Tier};
}