Skip to content

Commit 1fd773b

Browse files
committed
fix colored logging
1 parent d065863 commit 1fd773b

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

crates/common/src/enums.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
1818
use std::fmt::Debug;
1919

20+
use log::Level;
2021
use serde::{Deserialize, Serialize};
2122
use strum::{Display, EnumIter, EnumString, FromRepr};
2223

@@ -292,6 +293,18 @@ impl From<u8> for LogColor {
292293
}
293294
}
294295

296+
impl From<Level> for LogColor {
297+
fn from(value: Level) -> Self {
298+
match value {
299+
Level::Error => Self::Red,
300+
Level::Warn => Self::Yellow,
301+
Level::Info => Self::Green,
302+
Level::Debug => Self::Blue,
303+
Level::Trace => Self::Normal,
304+
}
305+
}
306+
}
307+
295308
/// An ANSI log line format specifier.
296309
/// This is used for formatting log messages with ANSI escape codes.
297310
#[repr(C)]

crates/common/src/logging/logger.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -292,19 +292,20 @@ impl Log for Logger {
292292
} else {
293293
get_atomic_clock_static().get_time_ns()
294294
};
295+
let level = record.level();
295296
let key_values = record.key_values();
296-
let color = key_values
297+
let color: LogColor = key_values
297298
.get("color".into())
298299
.and_then(|v| v.to_u64().map(|v| (v as u8).into()))
299-
.unwrap_or(LogColor::Normal);
300+
.unwrap_or(level.into());
300301
let component = key_values.get("component".into()).map_or_else(
301302
|| Ustr::from(record.metadata().target()),
302303
|v| Ustr::from(&v.to_string()),
303304
);
304305

305306
let line = LogLine {
306307
timestamp,
307-
level: record.level(),
308+
level,
308309
color,
309310
component,
310311
message: format!("{}", record.args()),

0 commit comments

Comments
 (0)