40 lines
1.1 KiB
Rust
40 lines
1.1 KiB
Rust
// 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
|
|
} |