avin_utils/
logger.rs

1/****************************************************************************
2 * URL:         http://avin.info
3 * AUTHOR:      Alex Avin
4 * E-MAIL:      mr.alexavin@gmail.com
5 * LICENSE:     MIT
6 ****************************************************************************/
7
8use chrono::Local;
9use log::{Metadata, Record};
10
11pub fn init_logger() {
12    log::set_logger(&LOGGER).unwrap();
13    log::set_max_level(log::LevelFilter::Debug);
14    log::info!("Welcome to AVIN Trade System!");
15}
16
17static LOGGER: ConsoleLogger = ConsoleLogger;
18struct ConsoleLogger;
19impl log::Log for ConsoleLogger {
20    fn enabled(&self, _metadata: &Metadata) -> bool {
21        // metadata.level() <= log::Level::Info
22        true
23    }
24
25    fn log(&self, record: &Record) {
26        if self.enabled(record.metadata()) {
27            println!(
28                "{} [{}] {}",
29                Local::now().format("%H:%M:%S"),
30                record.level(),
31                record.args()
32            );
33        }
34    }
35
36    fn flush(&self) {}
37}