hyperlane_log/log/
utils.rs1use crate::*;
2
3#[inline]
4pub(crate) fn get_second_element_from_filename(dir_path: &str) -> usize {
5 let mut res_idx: usize = DEFAULT_LOG_FILE_START_IDX;
6 if let Ok(entries) = read_dir(dir_path) {
7 for entry in entries.filter_map(Result::ok) {
8 let file_name: String = entry.file_name().to_string_lossy().to_string();
9 let parts: Vec<&str> = file_name.split(POINT).collect();
10 if parts.len() > 1 {
11 if let Ok(second_element) = parts[1].parse::<usize>() {
12 res_idx = second_element.max(res_idx);
13 }
14 }
15 }
16 }
17 res_idx.max(DEFAULT_LOG_FILE_START_IDX)
18}
19
20#[inline]
21pub fn common_log<T: ToString>(data: &T) -> String {
22 format!("{}: {}{}", current_time(), data.to_string(), BR)
23}
24
25#[inline]
26pub fn log_handler<T: ToString>(log_data: &T) -> String {
27 common_log(log_data)
28}
29
30#[inline]
31pub fn log_debug_handler<T: std::fmt::Debug>(log_data: &T) -> String {
32 let write_data: String = format!("{}: {:?}{}", current_time(), log_data, BR);
33 write_data.clone()
34}
35
36#[inline]
37pub fn log_debug_format_handler<T: std::fmt::Debug>(log_data: &T) -> String {
38 let write_data: String = format!("{}: {:#?}{}", current_time(), log_data, BR);
39 write_data.clone()
40}