use tracing_core::Subscriber;
use tracing_subscriber::{
fmt::{
self,
format::{self, Format},
},
registry::LookupSpan,
};
use crate::{AndroidLogMakeWriter, Buffer};
pub type Layer<S, N = format::DefaultFields, E = format::Full> =
fmt::Layer<S, N, format::Format<E, ()>, AndroidLogMakeWriter>;
pub fn layer<S>(tag: impl ToString) -> Layer<S>
where
S: Subscriber,
for<'a> S: LookupSpan<'a>,
{
with_buffer(tag, Default::default())
}
pub fn with_buffer<S>(tag: impl ToString, buffer: Buffer) -> Layer<S>
where
S: Subscriber,
for<'a> S: LookupSpan<'a>,
{
fmt::Layer::new()
.event_format(Format::default().with_level(false).without_time())
.with_writer(AndroidLogMakeWriter::with_buffer(tag.to_string(), buffer))
}