Skip to content

Commit 251b868

Browse files
authored
Bug Fix: Add Padding when logger header is not 34 chars long (#255)
* add change * clippy
1 parent 1550e05 commit 251b868

1 file changed

Lines changed: 45 additions & 5 deletions

File tree

proxy_agent_shared/src/logger.rs

Lines changed: 45 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,31 @@ pub mod rolling_logger;
88

99
pub type LoggerLevel = log::Level;
1010

11+
const HEADER_LENGTH: usize = 34;
1112
pub fn get_log_header(level: LoggerLevel) -> String {
12-
format!(
13-
"{} [{}] ",
13+
get_log_header_with_length(
14+
level,
1415
misc_helpers::get_date_time_string_with_milliseconds(),
15-
level
16-
)[..34]
17-
.to_string()
16+
HEADER_LENGTH,
17+
)
18+
}
19+
20+
fn get_log_header_with_length(
21+
level: LoggerLevel,
22+
date_time_string: String,
23+
length: usize,
24+
) -> String {
25+
let header = format!("{date_time_string} [{level}] ")
26+
.chars()
27+
.take(length)
28+
.collect::<String>();
29+
30+
// padding if the header is shorter than HEADER_LENGTH
31+
if header.len() < length {
32+
let padding = " ".repeat(length - header.len());
33+
return format!("{header}{padding}");
34+
}
35+
header
1836
}
1937

2038
const ASYNC_FUNCTION_NAME: &str = "{closure";
@@ -117,4 +135,26 @@ mod tests {
117135
// Check if the caller name is as expected
118136
assert_eq!(caller_name, expected_caller_name);
119137
}
138+
139+
#[test]
140+
fn get_log_header_with_length_test() {
141+
let header = super::get_log_header_with_length(
142+
Level::Info,
143+
"2023-10-01 12:00:00.000".to_string(),
144+
34,
145+
);
146+
assert_eq!(header, "2023-10-01 12:00:00.000 [INFO] ");
147+
let header = super::get_log_header_with_length(
148+
Level::Error,
149+
"2023-10-01 12:00:00.000".to_string(),
150+
34,
151+
);
152+
assert_eq!(header, "2023-10-01 12:00:00.000 [ERROR] ");
153+
let header = super::get_log_header_with_length(
154+
Level::Warn,
155+
"2023-10-01 12:00:00.00".to_string(),
156+
34,
157+
);
158+
assert_eq!(header, "2023-10-01 12:00:00.00 [WARN] ");
159+
}
120160
}

0 commit comments

Comments
 (0)