lesavka/client/src/main.rs

39 lines
1.1 KiB
Rust
Raw Normal View History

2025-06-08 04:11:58 -05:00
//! main.rs — entry point for navka-client
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-01 13:31:22 -05:00
#[tokio::main]
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
}