use crate::util_logger::builder::{LoggerBuilder, LoggerFeatureBuilder};
use flexi_logger::LoggerHandle;
use log::LevelFilter;
use std::path::PathBuf;
mod builder;
pub fn logger_stdout(lever: LevelFilter) -> LoggerHandle {
LoggerBuilder::default(lever)
.build_default()
.log_to_stdout()
.start()
}
pub fn logger_stdout_debug() {
let _res = LoggerBuilder::default(LevelFilter::Debug)
.build_default()
.log_to_stdout()
._start();
}
pub fn logger_feature(
app: &str,
debug_level: LevelFilter,
prod_level: LevelFilter,
) -> LoggerFeatureBuilder {
let log_etc_path: PathBuf = "/var/local/etc".into();
let log_path: PathBuf = "/var/local/log".into();
logger_feature_with_path(
app,
debug_level,
prod_level,
log_etc_path.join(app),
log_path.join(app),
)
}
pub fn logger_feature_with_path(
app: &str,
debug_level: LevelFilter,
prod_level: LevelFilter,
log_etc_path: PathBuf,
log_path: PathBuf,
) -> LoggerFeatureBuilder {
LoggerFeatureBuilder::default(
app,
debug_level,
prod_level,
log_etc_path.join(app),
log_path.join(app),
)
}
pub fn custom_build(lever: LevelFilter) -> LoggerBuilder {
LoggerBuilder::default(lever)
}