use tracing::Level;
#[derive(Debug, Clone, Default)]
pub struct FormTracing {
pub field: Option<Level>,
pub set_value: Option<Level>,
pub validate: Option<Level>,
pub render: Option<Level>,
pub finalize: Option<Level>,
}
impl FormTracing {
pub fn new() -> Self {
Self::default()
}
#[must_use]
pub fn field(mut self, level: Level) -> Self {
self.field = Some(level);
self
}
#[must_use]
pub fn set_value(mut self, level: Level) -> Self {
self.set_value = Some(level);
self
}
#[must_use]
pub fn validate(mut self, level: Level) -> Self {
self.validate = Some(level);
self
}
#[must_use]
pub fn render(mut self, level: Level) -> Self {
self.render = Some(level);
self
}
#[must_use]
pub fn finalize(mut self, level: Level) -> Self {
self.finalize = Some(level);
self
}
pub fn dev(self) -> Self {
self.field(Level::DEBUG)
.set_value(Level::DEBUG)
.validate(Level::DEBUG)
.render(Level::DEBUG)
.finalize(Level::DEBUG)
}
}