diff --git a/Cargo.lock b/Cargo.lock index 4c1aea4..27c7d33 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -236,6 +236,29 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "env_filter" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a1c3cc8e57274ec99de65301228b537f1e4eedc1b8e0f9411c6caac8ae7308f" +dependencies = [ + "log", + "regex", +] + +[[package]] +name = "env_logger" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2daee4ea451f429a58296525ddf28b45a3b64f1acf6587e2067437bb11e218d" +dependencies = [ + "anstream", + "anstyle", + "env_filter", + "jiff", + "log", +] + [[package]] name = "equivalent" version = "1.0.2" @@ -277,7 +300,9 @@ name = "fomod-manager" version = "0.1.0" dependencies = [ "clap", + "env_logger", "libloot", + "log", "quick-xml", "serde", "toml", @@ -351,6 +376,30 @@ version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" +[[package]] +name = "jiff" +version = "0.2.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819b44bc7c87d9117eb522f14d46e918add69ff12713c475946b0a29363ed1c2" +dependencies = [ + "jiff-static", + "log", + "portable-atomic", + "portable-atomic-util", + "serde_core", +] + +[[package]] +name = "jiff-static" +version = "0.2.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "470252db18ecc35fd766c0891b1e3ec6cbbcd62507e85276c01bf75d8e94d4a1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "keyvalues-parser" version = "0.2.3" @@ -514,6 +563,21 @@ dependencies = [ "serde", ] +[[package]] +name = "portable-atomic" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" + +[[package]] +name = "portable-atomic-util" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5" +dependencies = [ + "portable-atomic", +] + [[package]] name = "proc-macro2" version = "1.0.106" diff --git a/Cargo.toml b/Cargo.toml index 3302111..6592a43 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,9 @@ edition = "2024" [dependencies] clap = { version = "4.5.60", features = ["derive"] } +env_logger = "0.11.9" libloot = "0.29.0" +log = "0.4.29" quick-xml = { version = "0.39.2", features = ["serde-types", "serialize"] } serde = { version = "1.0.228", features = ["derive"] } toml = "1.0.3" diff --git a/src/main.rs b/src/main.rs index f800781..247da84 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,8 @@ use std::{error::Error, path::Path}; use clap::Parser; +use env_logger::Env; +use log::{debug, info}; use crate::{ basic_types::{ModConfig, ModFile, ModdedInstance, RootConfig}, @@ -109,9 +111,18 @@ pub fn order_plugins(root_config: &RootConfig, instance_id: &str) -> Result<(), Ok(()) } +fn setup_logger() { + env_logger::builder() + .filter_level(log::LevelFilter::max()) + .format_timestamp(None) + .init(); +} + fn main() -> Result<(), Box> { + setup_logger(); let args = Args::parse(); + debug!("Loading config from {:?}", args.config); let root_config = RootConfig::load_from_file(args.config)?; match args.command {