summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <matthias.beyer@atos.net>2021-05-28 12:13:28 +0200
committerMatthias Beyer <matthias.beyer@atos.net>2021-05-31 11:35:40 +0200
commitf1591ba21989be7cc87107a4c3c5462a4da2c284 (patch)
treefa41210382c6c899f54e7da706164d1e3e36a3d1
parent25963828ccc8bc9502ffb49fffdf28e4f7fd84ba (diff)
Impl Debug for ParsedLog
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
-rw-r--r--src/log/parser.rs20
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;