shellder/
logger.rs

1// Copyright (c) 2025 Saugata Kundu - kundusaugata576@gmail.com
2// Licensed under the Apache-2.0 License
3
4use colored::*;
5
6pub trait Logger {
7    fn info(msg: &str);
8    fn warn(msg: &str);
9    fn error(msg: &str);
10    fn success(msg: &str);
11    fn log(msg: &str);
12}
13pub struct CliLogger;
14impl Logger for CliLogger {
15    fn info(msg: &str) {
16        println!("{} {}", "[INFO ]".blue(), msg);
17    }
18
19    fn warn(msg: &str) {
20        println!("{} {}", "[WARN ]".yellow(), msg);
21    }
22
23    fn error(msg: &str) {
24        println!("{} {}", "[ERROR]".red(), msg);
25    }
26
27    fn success(msg: &str) {
28        println!("{} {}", "[ OK  ]".green(), msg);
29    }
30
31    fn log(msg: &str) {
32        println!("{} {}", "[ LOG ]".white(), msg);
33    }
34}