use std::fmt;
#[cfg(feature = "fastrace")]
pub use self::fastrace::FastraceEvent;
#[cfg(feature = "opentelemetry")]
pub use self::opentelemetry::OpentelemetryLog;
#[cfg(feature = "rolling_file")]
pub use self::rolling_file::RollingFile;
pub use self::stdio::Stderr;
pub use self::stdio::Stdout;
use crate::layout::IdenticalLayout;
use crate::layout::Layout;
#[cfg(feature = "fastrace")]
mod fastrace;
#[cfg(feature = "opentelemetry")]
pub mod opentelemetry;
#[cfg(feature = "rolling_file")]
pub mod rolling_file;
mod stdio;
pub trait Append: fmt::Debug + Send + Sync + 'static {
fn append(&self, record: &log::Record) -> anyhow::Result<()>;
fn flush(&self) {}
fn default_layout(&self) -> Layout {
Layout::Identical(IdenticalLayout)
}
}