use log::Record;
use log4rs::encode::{Encode, Write};
use crate::NEWLINE;
#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Default)]
pub struct JsonStrEncoder(());
impl JsonStrEncoder {
/// Returns a new `JsonStrEncoder` with a default configuration.
pub fn new() -> Self {
Self::default()
}
}
impl Encode for JsonStrEncoder {
fn encode(&self, w: &mut dyn Write, record: &Record) -> anyhow::Result<()> {
let message = record.args();
w.write_fmt(message.clone())?;
w.write_all(NEWLINE.as_bytes())?;
Ok(())
}
}