1#[cfg(not(target_arch = "wasm32"))]
10use crate::util::get_abs_path;
11use log::LevelFilter;
12
13#[cfg(not(target_arch = "wasm32"))]
14use log4rs::{
15 append::file::FileAppender,
16 config::{Appender, Config, Root},
17 encode::pattern::PatternEncoder,
18 filter::threshold::ThresholdFilter,
19};
20
21#[allow(unused)]
23pub fn init_log(level: LevelFilter, file_path: &str) {
24 #[cfg(target_arch = "wasm32")]
25 {
26 wasm_logger::init(wasm_logger::Config::default());
27 }
28 #[cfg(not(target_arch = "wasm32"))]
29 {
30 let fpstr = get_abs_path(file_path);
31 let logfile = FileAppender::builder()
32 .encoder(Box::new(PatternEncoder::new(
33 "{d(%Y-%m-%d %H:%M:%S)} {l} {t} {m}{n}\n",
34 )))
35 .build(fpstr)
36 .unwrap();
37 let config = Config::builder()
38 .appender(
39 Appender::builder()
40 .filter(Box::new(ThresholdFilter::new(level)))
41 .build("logfile", Box::new(logfile)),
42 )
43 .build(
44 Root::builder()
45 .appender("logfile")
46 .build(LevelFilter::Trace),
47 )
48 .unwrap();
49 let _handle = log4rs::init_config(config).unwrap();
50 }
51}