Skip to content

Commit

Permalink
add log-level arg
Browse files Browse the repository at this point in the history
  • Loading branch information
kayhhh committed Jun 26, 2024
1 parent 1bc14c0 commit d8d5f34
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 12 deletions.
43 changes: 32 additions & 11 deletions crates/unavi-app/src/main.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]

use clap::Parser;
use clap::{Parser, ValueEnum};
use surrealdb::Surreal;
use tracing::Level;
use unavi_app::StartOptions;
Expand All @@ -15,13 +15,23 @@ pub async fn start() {
let params = web_sys::UrlSearchParams::new_with_str(&search).unwrap();

let mut args = Args {
debug: false,
debug_physics: false,
force_update: false,
log_level: LogLevel::default(),
};

if let Some(value) = params.get("debug") {
if let Some(value) = params.get("debug-physics") {
if let Ok(value) = value.parse() {
args.debug = value;
args.debug_physics = value;
}
}

if let Some(value) = params.get("log-level") {
match value.as_str() {
"info" => args.log_level = LogLevel::Info,
"debug" => args.log_level = LogLevel::Debug,
"trace" => args.log_level = LogLevel::Trace,
_ => tracing::warn!("Unknown log-level: {}", value),
}
}

Expand All @@ -40,12 +50,23 @@ fn main() {}
#[derive(Parser, Debug)]
#[command(version, about)]
struct Args {
/// Enables debug logging and rendering.
/// Enables physics debug mode.
#[arg(long)]
debug: bool,
debug_physics: bool,
/// Forces an update from the latest release, even if the versions match.
#[arg(long)]
force_update: bool,
/// Sets the log level.
#[arg(long, default_value_t, value_enum)]
log_level: LogLevel,
}

#[derive(ValueEnum, Clone, Debug, Default)]
enum LogLevel {
#[default]
Info,
Debug,
Trace,
}

#[cfg(not(target_family = "wasm"))]
Expand Down Expand Up @@ -78,14 +99,14 @@ async fn main() {
}

fn args_to_options(args: Args) -> StartOptions {
let log_level = if args.debug {
Level::DEBUG
} else {
Level::INFO
let log_level = match args.log_level {
LogLevel::Info => Level::INFO,
LogLevel::Debug => Level::DEBUG,
LogLevel::Trace => Level::TRACE,
};

StartOptions {
debug_physics: args.debug,
debug_physics: args.debug_physics,
log_level,
}
}
2 changes: 1 addition & 1 deletion crates/unavi-scripting/src/execution.rs
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ pub fn update_scripts(
let mut scripts = scripts.lock().await;
let (script, store) = scripts.get_mut(&entity).unwrap();

let span = trace_span!("ScriptUpdate", name = name.to_string());
let span = trace_span!("ScriptUpdate", name = name.to_string(), delta);
let span = span.enter();

trace!("begin");
Expand Down

0 comments on commit d8d5f34

Please sign in to comment.