Satellite tracking TUI using ratatui
1
2use std::io::Error;
3
4use tracing_error::ErrorLayer;
5use tracing_subscriber::{self, layer::SubscriberExt, util::SubscriberInitExt};
6
7pub fn initialize_logging() -> Result<(),Error> {
8 let log_file = std::fs::File::create("log.log")?;
9 let file_subscriber = tracing_subscriber::fmt::layer()
10 .with_file(true)
11 .with_line_number(true)
12 .with_writer(log_file)
13 .with_target(false)
14 .with_ansi(false);
15 tracing_subscriber::registry().with(file_subscriber).with(ErrorLayer::default()).init();
16 Ok(())
17}
18
19#[macro_export]
20macro_rules! trace_dbg {
21 (target: $target:expr, level: $level:expr, $ex:expr) => {{
22 match $ex {
23 value => {
24 tracing::event!(target: $target, $level, ?value, stringify!($ex));
25 value
26 }
27 }
28 }};
29 (level: $level:expr, $ex:expr) => {
30 trace_dbg!(target: module_path!(), level: $level, $ex)
31 };
32 (target: $target:expr, $ex:expr) => {
33 trace_dbg!(target: $target, level: tracing::Level::DEBUG, $ex)
34 };
35 ($ex:expr) => {
36 trace_dbg!(level: tracing::Level::DEBUG, $ex)
37 };
38}