2025-06-08 22:24:14 -05:00
|
|
|
// client/src/main.rs
|
|
|
|
|
|
2025-06-01 16:04:00 -05:00
|
|
|
#![forbid(unsafe_code)]
|
|
|
|
|
|
2025-06-01 14:46:12 -05:00
|
|
|
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-01 13:31:22 -05:00
|
|
|
|
|
|
|
|
#[tokio::main]
|
2025-06-01 14:46:12 -05:00
|
|
|
async fn main() -> Result<()> {
|
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-08 12:47:11 -05:00
|
|
|
}
|