diff options
author | Matthias Beyer <matthias.beyer@atos.net> | 2021-05-28 12:13:28 +0200 |
---|---|---|
committer | Matthias Beyer <matthias.beyer@atos.net> | 2021-05-31 11:35:40 +0200 |
commit | f1591ba21989be7cc87107a4c3c5462a4da2c284 (patch) | |
tree | fa41210382c6c899f54e7da706164d1e3e36a3d1 | |
parent | 25963828ccc8bc9502ffb49fffdf28e4f7fd84ba (diff) |
Impl Debug for ParsedLog
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
-rw-r--r-- | src/log/parser.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/log/parser.rs b/src/log/parser.rs index 3f09ad2..c2328f8 100644 --- a/src/log/parser.rs +++ b/src/log/parser.rs @@ -38,6 +38,26 @@ where pub struct ParsedLog(Vec<LogItem>); +impl std::fmt::Debug for ParsedLog { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + writeln!(f, "ParsedLog [")?; + for (i, line) in self.0.iter().enumerate() { + match line { + LogItem::Line(l) => { + let s = std::str::from_utf8(l).unwrap_or("ERROR UTF8 ENCODING"); + writeln!(f, "[{}] Line('{}')", i, s)? + }, + LogItem::Progress(u) => writeln!(f, "[{}] Progress({})", i, u)?, + LogItem::CurrentPhase(s) => writeln!(f, "[{}] Phase({})", i, s)?, + LogItem::State(Ok(_)) => writeln!(f, "[{}] State::OK", i)?, + LogItem::State(Err(_)) => writeln!(f, "[{}] State::Err", i)?, + } + } + + writeln!(f, "]") + } +} + impl FromStr for ParsedLog { type Err = anyhow::Error; |