rust_nrm/utils/
logger.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
use colored::Colorize;

pub struct Logger;

impl Logger {
    pub fn info(message: &str) {
        println!(
            "{} {}",
            format!(" INFO ").white().on_blue(),
            message.blue()
        );
    }

    pub fn info_bold(message: &str) {
        println!(
            "{} {}",
            format!(" INFO ").white().on_blue(),
            message.blue().bold()
        );
    }

    pub fn success(message: &str) {
        println!(
            "{} {}",
            format!(" SUCCESS ").white().on_green(),
            message.green()
        );
    }

    pub fn success_bold(message: &str) {
        println!(
            "{} {}",
            format!(" SUCCESS ").white().on_green(),
            message.green().bold()
        );
    }

    pub fn error(message: &str) {
        println!(
            "{} {}",
            format!(" ERROR ").white().on_red(),
            message.red()
        );
    }

    pub fn error_bold(message: &str) {
        println!(
            "{} {}",
            format!(" ERROR ").white().on_red(),
            message.red().bold()
        );
    }

    pub fn list(message: &str) {
        println!(
            "{} {}",
            format!(" LIST ").white().on_magenta(),
            message.magenta().bold()
        );
    }

    pub fn custom(label: &str, message: &str, bg_color: colored::Color, fg_color: colored::Color) {
        println!(
            "{} {}",
            format!(" {} ", label).white().on_color(bg_color),
            message.color(fg_color)
        );
    }

    pub fn custom_bold(label: &str, message: &str, bg_color: colored::Color, fg_color: colored::Color) {
        println!(
            "{} {}",
            format!(" {} ", label).white().on_color(bg_color),
            message.color(fg_color).bold()
        );
    }
}