baichun-framework-logger 0.1.0

Logger module for Baichun-Rust framework
Documentation
pub mod file;
pub mod rolling;

pub use file::FileAppender;
pub use rolling::{RollingFileAppender, RollingStrategy};

use crate::{config::LogLevel, error::Result};
use std::fmt;

/// 日志追加器特征
pub trait LogAppender: Send + Sync + fmt::Debug {
    /// 写入日志
    fn write(&self, level: LogLevel, message: &str) -> Result<()>;

    /// 刷新缓冲区
    fn flush(&self) -> Result<()>;
}

/// 日志写入器特征
pub trait LogWriter: Send + Sync + fmt::Debug + Clone {
    /// 写入数据
    fn write(&self, data: &[u8]) -> std::io::Result<usize>;

    /// 刷新缓冲区
    fn flush(&self) -> std::io::Result<()>;
}