use std::io::Write;
use crate::append::Append;
#[derive(Default, Debug)]
pub struct Stdout;
impl Append for Stdout {
fn append(&self, record: &log::Record) -> anyhow::Result<()> {
let bytes = format!("{}\n", record.args()).into_bytes();
std::io::stdout().write_all(&bytes)?;
Ok(())
}
fn flush(&self) {
let _ = std::io::stdout().flush();
}
}
#[derive(Default, Debug)]
pub struct Stderr;
impl Append for Stderr {
fn append(&self, record: &log::Record) -> anyhow::Result<()> {
let bytes = format!("{}\n", record.args()).into_bytes();
std::io::stderr().write_all(&bytes)?;
Ok(())
}
fn flush(&self) {
let _ = std::io::stderr().flush();
}
}