// client/src/main.rs #![forbid(unsafe_code)] use anyhow::Result; use navka_client::NavkaClientApp; use std::env; use std::fs::OpenOptions; use tracing_subscriber::fmt; use tracing_subscriber::prelude::__tracing_subscriber_SubscriberExt; #[tokio::main] async fn main() -> Result<()> { 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(); } let mut app = NavkaClientApp::new()?; app.run().await }