66 lines
1.4 KiB
Rust
66 lines
1.4 KiB
Rust
use chrono::Local;
|
|
use env_logger::Builder;
|
|
use log::LevelFilter;
|
|
use std::io::Write;
|
|
use anyhow::Result;
|
|
use log::info;
|
|
|
|
/// # Fn `setup_logger`
|
|
///
|
|
/// ## function to init terminal logger
|
|
///
|
|
/// ### Dev-Info :
|
|
///
|
|
/// *input* : -
|
|
///
|
|
/// *output* : `anyhow::Result<()>`
|
|
///
|
|
/// *initiator* : fn `main`
|
|
///
|
|
/// *managing* : -
|
|
///
|
|
/// *depends on* : -
|
|
///
|
|
pub async fn setup_logger() -> Result<()> {
|
|
Builder::new()
|
|
.format(move |buf, record| {
|
|
writeln!(
|
|
buf,
|
|
"|{}| {} [{}] - {}",
|
|
"api-grubber",
|
|
Local::now().format("%d-%m-%Y %H:%M:%S"),
|
|
record.level(),
|
|
record.args(),
|
|
)
|
|
})
|
|
.filter(None, LevelFilter::Info)
|
|
.target(env_logger::Target::Stdout)
|
|
.init();
|
|
|
|
info!("Logger configured");
|
|
Ok(())
|
|
}
|
|
|
|
|
|
#[cfg(test)]
|
|
mod logger_unittests {
|
|
use tokio::test;
|
|
use super::*;
|
|
#[test]
|
|
async fn check_logger_builder() {
|
|
Builder::new()
|
|
.format(move |buf, record| {
|
|
writeln!(
|
|
buf,
|
|
"|{}| {} [{}] - {}",
|
|
"api-grubber",
|
|
Local::now().format("%d-%m-%Y %H:%M:%S"),
|
|
record.level(),
|
|
record.args(),
|
|
)
|
|
})
|
|
.filter(None, LevelFilter::Info)
|
|
.target(env_logger::Target::Stdout)
|
|
.init();
|
|
}
|
|
} |