Improve log rendering

pull/519/head
Arijit Basu 2 years ago
parent c93202b649
commit 1d20039fae
No known key found for this signature in database
GPG Key ID: 0F8EF5258DC38077

@ -969,41 +969,36 @@ fn draw_logs<B: Backend>(
.iter() .iter()
.rev() .rev()
.take(layout_size.height as usize) .take(layout_size.height as usize)
.map(|l| { .map(|log| {
let time = l.created_at.format("%r"); let time = log.created_at.format("%r");
match l.level { let cfg = match log.level {
app::LogLevel::Info => ListItem::new(format!( app::LogLevel::Info => &logs_config.info,
"{} | {} | {}", app::LogLevel::Warning => &logs_config.warning,
&time, app::LogLevel::Success => &logs_config.success,
&logs_config.info.format.to_owned().unwrap_or_default(), app::LogLevel::Error => &logs_config.error,
l.message };
))
.style(logs_config.info.style.to_owned().into()), let prefix =
format!("{}|{}", time, cfg.format.to_owned().unwrap_or_default());
app::LogLevel::Warning => ListItem::new(format!(
"{} | {} | {}", let padding = " ".repeat(prefix.chars().count());
&time,
&logs_config.warning.format.to_owned().unwrap_or_default(), let txt = log
l.message .message
)) .lines()
.style(logs_config.warning.style.to_owned().into()), .enumerate()
.map(|(i, line)| {
app::LogLevel::Success => ListItem::new(format!( if i == 0 {
"{} | {} | {}", format!("{} {}", &prefix, line)
&time, } else {
&logs_config.success.format.to_owned().unwrap_or_default(), format!("{} {}", &padding, line)
l.message }
)) })
.style(logs_config.success.style.to_owned().into()), .take(layout_size.height as usize)
.collect::<Vec<_>>()
app::LogLevel::Error => ListItem::new(format!( .join("\n");
"{} | {} | {}",
&time, ListItem::new(txt).style(cfg.style.to_owned().into())
&logs_config.error.format.to_owned().unwrap_or_default(),
l.message
))
.style(logs_config.error.style.to_owned().into()),
}
}) })
.collect::<Vec<ListItem>>() .collect::<Vec<ListItem>>()
}; };

Loading…
Cancel
Save