kataglyphis_rustprojecttemplate/
logging.rs1use std::io::Write;
4
5pub fn init_logger() {
12 let mut builder = env_logger::Builder::from_env(env_logger::Env::default());
13
14 builder.format(|buf, record| {
15 let ts = chrono::Local::now().format("%H:%M:%S");
16 let level = if record.target() == "SUCCESS" {
17 "SUCCESS"
18 } else {
19 match record.level() {
20 log::Level::Error => "ERROR",
21 log::Level::Warn => "WARN",
22 log::Level::Info => "INFO",
23 log::Level::Debug => "DEBUG",
24 log::Level::Trace => "TRACE",
25 }
26 };
27 writeln!(buf, "{ts} | {level:<8} | {}", record.args())
28 });
29
30 if std::env::var_os("RUST_LOG").is_none() {
31 let level = crate::config::log_level();
32
33 builder.filter_level(level);
34
35 for module in &["wgpu", "wgpu_core", "wgpu_hal", "naga"] {
37 builder.filter_module(module, log::LevelFilter::Warn);
38 }
39 }
40
41 builder.init();
42}
43
44#[macro_export]
47macro_rules! success {
48 ($($arg:tt)*) => {
49 log::info!(target: "SUCCESS", $($arg)*);
50 };
51}