loggur 0.1.0

로깅 크레이트
Documentation
// 매크로 내보내기 문제 해결을 위해 lib.rs에 파일 로깅 매크로 추가
pub use crate::file_logger::*;

// 파일 로깅 매크로 재정의
#[macro_export]
macro_rules! log_to_file {
    ($level:expr, $($arg:tt)*) => {
        let _ = $crate::FancyLogger::log_to_file(
            $level,
            &format!($($arg)*),
            file!(),
            line!()
        );
    };
}

#[macro_export]
macro_rules! trace_to_file {
    ($($arg:tt)*) => {
        $crate::log_to_file!($crate::LogLevel::Trace, $($arg)*);
    };
}

#[macro_export]
macro_rules! debug_to_file {
    ($($arg:tt)*) => {
        $crate::log_to_file!($crate::LogLevel::Debug, $($arg)*);
    };
}

#[macro_export]
macro_rules! info_to_file {
    ($($arg:tt)*) => {
        $crate::log_to_file!($crate::LogLevel::Info, $($arg)*);
    };
}

#[macro_export]
macro_rules! warn_to_file {
    ($($arg:tt)*) => {
        $crate::log_to_file!($crate::LogLevel::Warn, $($arg)*);
    };
}

#[macro_export]
macro_rules! error_to_file {
    ($($arg:tt)*) => {
        $crate::log_to_file!($crate::LogLevel::Error, $($arg)*);
    };
}

#[macro_export]
macro_rules! fatal_to_file {
    ($($arg:tt)*) => {
        $crate::log_to_file!($crate::LogLevel::Fatal, $($arg)*);
    };
}

// 콘솔과 파일 모두에 로깅하는 매크로
#[macro_export]
macro_rules! log_everywhere {
    ($level:expr, $($arg:tt)*) => {
        let _ = $crate::FancyLogger::log_everywhere(
            $level,
            &format!($($arg)*),
            file!(),
            line!()
        );
    };
}

#[macro_export]
macro_rules! trace_everywhere {
    ($($arg:tt)*) => {
        $crate::log_everywhere!($crate::LogLevel::Trace, $($arg)*);
    };
}

#[macro_export]
macro_rules! debug_everywhere {
    ($($arg:tt)*) => {
        $crate::log_everywhere!($crate::LogLevel::Debug, $($arg)*);
    };
}

#[macro_export]
macro_rules! info_everywhere {
    ($($arg:tt)*) => {
        $crate::log_everywhere!($crate::LogLevel::Info, $($arg)*);
    };
}

#[macro_export]
macro_rules! warn_everywhere {
    ($($arg:tt)*) => {
        $crate::log_everywhere!($crate::LogLevel::Warn, $($arg)*);
    };
}

#[macro_export]
macro_rules! error_everywhere {
    ($($arg:tt)*) => {
        $crate::log_everywhere!($crate::LogLevel::Error, $($arg)*);
    };
}

#[macro_export]
macro_rules! fatal_everywhere {
    ($($arg:tt)*) => {
        $crate::log_everywhere!($crate::LogLevel::Fatal, $($arg)*);
    };
}