#[cfg(feature = "awscout")]
use crate::factory::awscout::CloudWatch;
use crate::factory::fmt::FmtWrite;
use crate::factory::io::IoWrite;
#[cfg(feature = "loki")]
use crate::factory::loki::Loki;
use crate::factory::std::CerrWrite;
use crate::factory::std::CoutWrite;
use crate::factory::vec::Vector;
use crate::{Logger, SilentLogger};
pub struct LoggerFactory {}
impl LoggerFactory {
pub fn silent() -> Logger {
Logger::new(SilentLogger::new())
}
#[cfg(feature = "loki")]
#[cfg_attr(docsrs, doc(cfg(feature = "loki")))]
pub fn loki() -> Loki {
Loki {}
}
#[cfg(feature = "awscout")]
#[cfg_attr(docsrs, doc(cfg(feature = "awscout")))]
pub fn cloudwatch() -> CloudWatch {
CloudWatch {}
}
pub fn io() -> IoWrite {
IoWrite::default()
}
pub fn fmt() -> FmtWrite {
FmtWrite::default()
}
pub fn vector() -> Vector {
Vector::default()
}
pub fn cout() -> CoutWrite {
CoutWrite::default()
}
pub fn cerr() -> CerrWrite {
CerrWrite::default()
}
}