use tracing::Level;
#[derive(Debug, Clone, Default)]
pub struct SessionTracing {
pub store: Option<Level>,
pub cleanup: Option<Level>,
pub exclusive_login: Option<Level>,
}
impl SessionTracing {
pub fn new() -> Self {
Self::default()
}
#[must_use]
pub fn store(mut self, level: Level) -> Self {
self.store = Some(level);
self
}
#[must_use]
pub fn cleanup(mut self, level: Level) -> Self {
self.cleanup = Some(level);
self
}
#[must_use]
pub fn exclusive_login(mut self, level: Level) -> Self {
self.exclusive_login = Some(level);
self
}
pub fn dev(self) -> Self {
self.store(Level::DEBUG)
.cleanup(Level::DEBUG)
.exclusive_login(Level::DEBUG)
}
}