Skip to content

Commit f44d607

Browse files
committed
refactor: improve logging
1 parent 0c098e0 commit f44d607

File tree

2 files changed

+46
-39
lines changed

2 files changed

+46
-39
lines changed

app/src/log.rs

Lines changed: 45 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ impl Logger {
1010
let mut log_builder = Builder::from_env(env_logger::Env::new().default_filter_or("info"));
1111
log_builder
1212
.format(|buf, record| {
13-
let is_systemd_style = std::env::var("SYSTEMD_EXEC_PID").is_ok();
13+
let logging_style =
14+
std::env::var("VNS_LOGGIN_STYLE").unwrap_or("NORMAL".to_owned());
1415

1516
let mut level_style = buf.style();
1617
let mut time_style = buf.style();
@@ -22,48 +23,53 @@ impl Logger {
2223
_ => Color::Yellow,
2324
});
2425
time_style.set_color(Color::Rgb(255, 165, 0));
25-
if is_systemd_style {
26-
writeln!(
27-
buf,
28-
"<{}>{}: {}",
29-
match record.level() {
30-
log::Level::Error => 3,
31-
log::Level::Warn => 4,
32-
log::Level::Info => 6,
33-
log::Level::Debug => 7,
34-
log::Level::Trace => 7,
35-
},
36-
record.target(),
37-
record.args()
38-
)
39-
.unwrap();
40-
} else {
41-
match record.level().eq(&Level::Error) {
42-
// Write to stderr
43-
true => eprintln!(
44-
"{} {} : {} \n\t {} \n\t {}",
45-
buf.timestamp().to_string().color(RGB::new(255, 165, 0)),
46-
record.level().to_string().red(),
47-
record.args().to_string().trim(),
48-
format!("target: {}", record.target()),
49-
format!(
50-
"file: {} ({})",
51-
record.file().unwrap(),
52-
record.line().unwrap().to_string().yellow()
53-
),
54-
),
5526

56-
// Write to stdout (default)
57-
_ => writeln!(
27+
match logging_style.as_str() {
28+
"SYSTEMD" => {
29+
writeln!(
5830
buf,
59-
"⌜{}⌟{ } : {}",
60-
time_style.value(buf.timestamp()),
61-
level_style.value(record.level()),
62-
record.args().to_string().trim()
31+
"<{}>{}: {}",
32+
match record.level() {
33+
log::Level::Error => 3,
34+
log::Level::Warn => 4,
35+
log::Level::Info => 6,
36+
log::Level::Debug => 7,
37+
log::Level::Trace => 7,
38+
},
39+
record.target(),
40+
record.args()
6341
)
64-
.unwrap(),
42+
.unwrap();
6543
}
66-
}
44+
_ => {
45+
match record.level().eq(&Level::Error) {
46+
// Write to stderr
47+
true => eprintln!(
48+
"⌜{}⌟ {} : {} \n\t {} \n\t {}",
49+
buf.timestamp().to_string().color(RGB::new(255, 165, 0)),
50+
record.level().to_string().red(),
51+
record.args().to_string().trim(),
52+
format!("target: {}", record.target()),
53+
format!(
54+
"file: {} ({})",
55+
record.file().unwrap(),
56+
record.line().unwrap().to_string().yellow()
57+
),
58+
),
59+
60+
// Write to stdout (default)
61+
_ => writeln!(
62+
buf,
63+
"⌜{}⌟{ } : {}",
64+
time_style.value(buf.timestamp()),
65+
level_style.value(record.level()),
66+
record.args().to_string().trim()
67+
)
68+
.unwrap(),
69+
}
70+
}
71+
};
72+
6773
Ok(())
6874
})
6975
.target(Stdout)

systemd/vnstat-server.service

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ ProtectSystem=yes
2424
RestrictNamespaces=yes
2525
RestrictRealtime=yes
2626
RestrictSUIDSGID=yes
27+
Environment=VNS_LOGGIN_STYLE=SYSTEMD
2728

2829
[Install]
2930
WantedBy=multi-user.target

0 commit comments

Comments
 (0)