use crate::*;
pub(crate) fn instrument_trace_macro(attr: TokenStream, item: TokenStream) -> TokenStream {
let input_fn: ItemFn = parse_macro_input!(item as ItemFn);
let params: TokenStream2 = attr.into();
let expanded: TokenStream2 = quote! {
#[::tracing::instrument(level = "trace", skip_all, #params)]
#input_fn
};
TokenStream::from(expanded)
}
pub(crate) fn instrument_debug_macro(attr: TokenStream, item: TokenStream) -> TokenStream {
let input_fn: ItemFn = parse_macro_input!(item as ItemFn);
let params: TokenStream2 = attr.into();
let expanded: TokenStream2 = quote! {
#[::tracing::instrument(level = "debug", #params)]
#input_fn
};
TokenStream::from(expanded)
}
pub(crate) fn instrument_info_macro(attr: TokenStream, item: TokenStream) -> TokenStream {
let input_fn: ItemFn = parse_macro_input!(item as ItemFn);
let params: TokenStream2 = attr.into();
let expanded: TokenStream2 = quote! {
#[::tracing::instrument(level = "info", #params)]
#input_fn
};
TokenStream::from(expanded)
}
pub(crate) fn instrument_warn_macro(attr: TokenStream, item: TokenStream) -> TokenStream {
let input_fn: ItemFn = parse_macro_input!(item as ItemFn);
let params: TokenStream2 = attr.into();
let expanded: TokenStream2 = quote! {
#[::tracing::instrument(level = "warn", #params)]
#input_fn
};
TokenStream::from(expanded)
}
pub(crate) fn instrument_error_macro(attr: TokenStream, item: TokenStream) -> TokenStream {
let input_fn: ItemFn = parse_macro_input!(item as ItemFn);
let params: TokenStream2 = attr.into();
let expanded: TokenStream2 = quote! {
#[::tracing::instrument(level = "error", #params)]
#input_fn
};
TokenStream::from(expanded)
}