From f1591ba21989be7cc87107a4c3c5462a4da2c284 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Fri, 28 May 2021 12:13:28 +0200 Subject: Impl Debug for ParsedLog Signed-off-by: Matthias Beyer --- src/log/parser.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) 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); +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; -- cgit v1.2.3