feat(users/picnoir/tvix-daemon): add log verbosity flag

Adding a verbosity flag available through the CLI/ENV variable.

Change-Id: If04cc2e6e26e7cb3c2df7821fce222da2b85a95a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11349
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
This commit is contained in:
Picnoir 2024-04-03 11:20:31 +02:00 committed by picnoir picnoir
parent 9cec50cb2e
commit 32724d28ee
3 changed files with 18 additions and 20 deletions

View file

@ -2,7 +2,7 @@ use anyhow::anyhow;
use clap::Parser;
use tokio::io::{AsyncReadExt, AsyncWriteExt};
use tokio_listener::{self, SystemOptions, UserOptions};
use tracing::{debug, error, info, instrument};
use tracing::{debug, error, info, instrument, Level};
use nix_compat::wire::{bytes, primitive, worker_protocol};
@ -11,14 +11,23 @@ struct Cli {
/// Listening unix socket path
#[arg(short, long)]
socket: Option<String>,
/// Log verbosity level. Can be "error", "warn", "info", "debug", "trace", or a number 1-5
#[arg(short, long, env)]
verbosity: Option<Level>,
}
#[tokio::main]
#[instrument()]
async fn main() {
tracing_subscriber::fmt().compact().try_init().unwrap();
let args = Cli::parse();
tracing_subscriber::fmt()
.compact()
.with_max_level(
args.verbosity
.unwrap_or_else(|| panic!("Can't parse log verbosity")),
)
.try_init()
.unwrap();
info!("Started Tvix daemon");
let addr = args
.socket