baichun_framework_logger/appender/
mod.rs1pub mod file;
2pub mod rolling;
3
4pub use file::FileAppender;
5pub use rolling::{RollingFileAppender, RollingStrategy};
6
7use crate::{config::LogLevel, error::Result};
8use std::fmt;
9
10pub trait LogAppender: Send + Sync + fmt::Debug {
12 fn write(&self, level: LogLevel, message: &str) -> Result<()>;
14
15 fn flush(&self) -> Result<()>;
17}
18
19pub trait LogWriter: Send + Sync + fmt::Debug + Clone {
21 fn write(&self, data: &[u8]) -> std::io::Result<usize>;
23
24 fn flush(&self) -> std::io::Result<()>;
26}