diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2021-09-04 14:48:36 +0100 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2021-09-04 14:48:36 +0100 |
commit | 614014041e493e1a4b6d5729320b42af39d89c68 (patch) | |
tree | 8f417718b3ac318a883b5e324f2c567914e22426 /src/bindings.rs | |
parent | e11811d6425a8caced83fd2d5ebce55b04c6c1c2 (diff) | |
download | subplot-614014041e493e1a4b6d5729320b42af39d89c68.tar.gz |
tracing: Add a bunch of TRACE level tracing
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
Diffstat (limited to 'src/bindings.rs')
-rw-r--r-- | src/bindings.rs | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/bindings.rs b/src/bindings.rs index 98de428..5909316 100644 --- a/src/bindings.rs +++ b/src/bindings.rs @@ -9,11 +9,13 @@ use serde::{Deserialize, Serialize}; use serde_aux::prelude::*; use std::collections::HashMap; +use std::fmt::Debug; use std::path::Path; use std::str::FromStr; use lazy_static::lazy_static; use regex::{escape, Regex, RegexBuilder}; +use tracing::{event, instrument, Level}; #[derive(Debug, PartialEq, Eq, Hash, Copy, Clone, Serialize, Deserialize)] #[serde(rename_all = "lowercase")] @@ -465,6 +467,7 @@ impl Bindings { } /// Add bindings from a YAML string + #[instrument(level = "trace", skip(self, yaml))] pub fn add_from_yaml(&mut self, yaml: &str) -> Result<()> { let bindings: Vec<ParsedBindingWrapper> = serde_yaml::from_str(yaml)?; for wrapper in bindings { @@ -502,12 +505,14 @@ impl Bindings { } /// Add bindings from a file. + #[instrument(level = "trace", skip(self))] pub fn add_from_file<P>(&mut self, filename: P) -> Result<()> where - P: AsRef<Path>, + P: AsRef<Path> + Debug, { let yaml = resource::read_as_string(filename.as_ref()) .map_err(|e| SubplotError::BindingsFileNotFound(filename.as_ref().into(), e))?; + event!(Level::TRACE, "Loaded file content"); self.add_from_yaml(&yaml)?; Ok(()) } @@ -522,6 +527,7 @@ impl Bindings { } } +#[instrument(level = "trace", skip(parsed))] fn from_hashmap(parsed: &ParsedBinding) -> Result<Binding> { let given: i32 = parsed.given.is_some().into(); let when: i32 = parsed.when.is_some().into(); @@ -557,6 +563,14 @@ fn from_hashmap(parsed: &ParsedBinding) -> Result<Binding> { regex_from_simple_pattern(pattern, parsed.regex.is_some(), &mut types)? }; + event!( + Level::TRACE, + ?kind, + ?pattern, + ?types, + "Successfully prepared binding" + ); + Binding::new( kind, &pattern, |