continuwuity/src/core/log/fmt.rs
Jason Volk 1f9225e4d1 add markdown log format for capture
Signed-off-by: Jason Volk <jason@zemos.net>
2024-06-12 21:06:09 +00:00

47 lines
997 B
Rust

use std::fmt::Write;
use super::{color, Level};
use crate::Result;
pub fn html<S>(out: &mut S, level: &Level, span: &str, msg: &str) -> Result<()>
where
S: Write,
{
let color = color::code_tag(level);
let level = level.as_str().to_uppercase();
write!(
out,
"<font data-mx-color=\"{color}\"><code>{level:>5}</code></font> <code>{span:^12}</code> <code>{msg}</code><br>"
)?;
Ok(())
}
pub fn markdown<S>(out: &mut S, level: &Level, span: &str, msg: &str) -> Result<()>
where
S: Write,
{
let level = level.as_str().to_uppercase();
writeln!(out, "`{level:>5}` `{span:^12}` `{msg}`")?;
Ok(())
}
pub fn markdown_table<S>(out: &mut S, level: &Level, span: &str, msg: &str) -> Result<()>
where
S: Write,
{
let level = level.as_str().to_uppercase();
writeln!(out, "| `{level:>5}` | `{span:^12}` | `{msg} |")?;
Ok(())
}
pub fn markdown_table_head<S>(out: &mut S) -> Result<()>
where
S: Write,
{
write!(out, "| level | span | message |\n|------:|:----:|:--------|\n")?;
Ok(())
}