use tracing::Level;
#[derive(Debug, Clone, Default)]
pub struct AdminTracing {
pub auth: Option<Level>,
pub crud: Option<Level>,
pub list: Option<Level>,
pub bulk: Option<Level>,
pub filter_fn: Option<Level>,
pub roles: Option<Level>,
pub daemon: Option<Level>,
}
impl AdminTracing {
pub fn new() -> Self {
Self::default()
}
#[must_use]
pub fn auth(mut self, level: Level) -> Self {
self.auth = Some(level);
self
}
#[must_use]
pub fn crud(mut self, level: Level) -> Self {
self.crud = Some(level);
self
}
#[must_use]
pub fn list(mut self, level: Level) -> Self {
self.list = Some(level);
self
}
#[must_use]
pub fn bulk(mut self, level: Level) -> Self {
self.bulk = Some(level);
self
}
#[must_use]
pub fn filter_fn(mut self, level: Level) -> Self {
self.filter_fn = Some(level);
self
}
#[must_use]
pub fn roles(mut self, level: Level) -> Self {
self.roles = Some(level);
self
}
#[must_use]
pub fn daemon(mut self, level: Level) -> Self {
self.daemon = Some(level);
self
}
pub fn dev(self) -> Self {
self.auth(Level::DEBUG)
.crud(Level::DEBUG)
.list(Level::DEBUG)
.bulk(Level::DEBUG)
.filter_fn(Level::DEBUG)
.roles(Level::DEBUG)
.daemon(Level::DEBUG)
}
}