summaryrefslogtreecommitdiffstats
path: root/vendor/env_logger/src/filter/regex.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/env_logger/src/filter/regex.rs')
-rw-r--r--vendor/env_logger/src/filter/regex.rs29
1 files changed, 29 insertions, 0 deletions
diff --git a/vendor/env_logger/src/filter/regex.rs b/vendor/env_logger/src/filter/regex.rs
new file mode 100644
index 000000000..fb21528a1
--- /dev/null
+++ b/vendor/env_logger/src/filter/regex.rs
@@ -0,0 +1,29 @@
+extern crate regex;
+
+use std::fmt;
+
+use self::regex::Regex;
+
+#[derive(Debug)]
+pub struct Filter {
+ inner: Regex,
+}
+
+impl Filter {
+ pub fn new(spec: &str) -> Result<Filter, String> {
+ match Regex::new(spec) {
+ Ok(r) => Ok(Filter { inner: r }),
+ Err(e) => Err(e.to_string()),
+ }
+ }
+
+ pub fn is_match(&self, s: &str) -> bool {
+ self.inner.is_match(s)
+ }
+}
+
+impl fmt::Display for Filter {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ self.inner.fmt(f)
+ }
+}