added logging framework

This commit is contained in:
2026-03-02 22:37:15 +01:00
parent ed87dc1ca9
commit 6bb41e7d72
3 changed files with 77 additions and 0 deletions

64
Cargo.lock generated
View File

@@ -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"

View File

@@ -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"

View File

@@ -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<dyn Error>> {
setup_logger();
let args = Args::parse();
debug!("Loading config from {:?}", args.config);
let root_config = RootConfig::load_from_file(args.config)?;
match args.command {