lesavka/client/src/main.rs

59 lines
1.6 KiB
Rust
Raw Normal View History

2025-06-08 22:24:14 -05:00
// client/src/main.rs
2025-06-01 16:04:00 -05:00
#![forbid(unsafe_code)]
use anyhow::Result;
2025-06-08 04:11:58 -05:00
use navka_client::NavkaClientApp;
2025-06-08 12:47:11 -05:00
use std::env;
use std::fs::OpenOptions;
use tracing_subscriber::fmt;
use tracing_subscriber::prelude::__tracing_subscriber_SubscriberExt;
2025-06-15 22:15:50 -05:00
use tracing_subscriber::{fmt, EnvFilter};
2025-06-01 13:31:22 -05:00
#[tokio::main]
async fn main() -> Result<()> {
2025-06-16 00:05:39 -05:00
tracing_subscriber::fmt()
.with_env_filter(
// honour RUST_LOG but fall back to very chatty defaults
EnvFilter::try_from_default_env().unwrap_or_else(|_| {
EnvFilter::new(
"navka_client=trace,\
navka_server=trace,\
tonic=debug,\
h2=debug,\
tower=debug",
)
}),
)
.with_target(true)
.with_thread_ids(true)
.with_file(true)
.init();
2025-06-08 12:47:11 -05:00
let dev_mode = env::var("NAVKA_DEV_MODE").is_ok();
if dev_mode {
let file = OpenOptions::new()
.create(true)
.append(true)
.open("/tmp/navka-client.log")?;
let subscriber = tracing_subscriber::registry()
.with(fmt::layer())
.with(
fmt::layer()
.with_writer(file)
.with_ansi(false)
.with_target(true)
.with_level(true),
);
tracing::subscriber::set_global_default(subscriber)?;
tracing::info!("navka-client starting in dev mode: logs -> /tmp/navka-client.log");
} else {
tracing_subscriber::fmt::init();
}
2025-06-06 00:21:20 -05:00
2025-06-08 04:11:58 -05:00
let mut app = NavkaClientApp::new()?;
app.run().await
2025-06-16 00:05:39 -05:00
}