Skip to content

Commit 5ef759a

Browse files
committed
Add basic logging
Signed-off-by: Davide Cavalca <[email protected]>
1 parent 71c1b00 commit 5ef759a

3 files changed

Lines changed: 269 additions & 5 deletions

File tree

Cargo.lock

Lines changed: 249 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,6 @@ categories = ["emulators"]
1111
keywords = ["asahi"]
1212

1313
[dependencies]
14+
env_logger = "0.11.8"
1415
libsystemd = "0.7.2"
16+
log = "0.4.27"

src/main.rs

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ use std::fs::{create_dir_all, read_dir};
44
use std::io::Write;
55
use std::path::Path;
66

7+
#[allow(unused_imports)]
8+
use log::{debug, error, info, trace, warn};
9+
710
static LAYERS_DIR: &str = "/usr/share/fex-emu/layers";
811
static MOUNTS_DIR: &str = "/var/lib/fex-emu/layers";
912
static ROOTFS_DIR: &str = "/var/lib/fex-emu/rootfs";
@@ -18,8 +21,18 @@ fn systemd_escape_path(name: &Path) -> String {
1821
}
1922

2023
fn main() -> Result<(), Box<dyn std::error::Error>> {
24+
// Setup logging; we use SYSTEMD_LOG_LEVEL as that's the convention for
25+
// generators per systemd.generator(7)
26+
let logger_env = env_logger::Env::default().filter_or("SYSTEMD_LOG_LEVEL", "info");
27+
28+
env_logger::Builder::from_env(logger_env)
29+
.format_level(false)
30+
.format_timestamp(None)
31+
.init();
32+
2133
// /path/to/generator normal-dir [early-dir] [late-dir]
2234
let args: Vec<String> = std::env::args().collect();
35+
trace!("Args: {:?}", args);
2336
let dest_path = Path::new(&args[1]);
2437
let mut layers = HashMap::new();
2538

@@ -32,15 +45,15 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
3245
layers.insert(stem, layer);
3346
}
3447

35-
//println!("{:?}", layers);
48+
trace!("layers = {:?}", layers);
3649

3750
let mounts_path = Path::new(MOUNTS_DIR);
3851

3952
let mut units = HashMap::new();
4053
for (stem, _) in &layers {
4154
units.insert(stem, systemd_escape_path(mounts_path.join(stem).as_path()));
4255
}
43-
//println!("{:?}", units);
56+
trace!("units = {:?}", units);
4457

4558
for (stem, unit) in &units {
4659
let unit_path = dest_path.join(&unit);
@@ -61,19 +74,19 @@ Where={}",
6174

6275
let mut stems: Vec<_> = layers.keys().collect::<Vec<_>>();
6376
stems.sort();
64-
//println!("{:?}", stems);
77+
trace!("stems = {:?}", stems);
6578

6679
let rootfs_unit_name = systemd_escape_path(Path::new(ROOTFS_DIR));
6780
let rootfs_unit_path = dest_path.join(&rootfs_unit_name);
6881
let mut rootfs_unit = File::create(&rootfs_unit_path).unwrap();
6982
let rootfs_unit_deps: Vec<_> = stems.iter().map(|stem| units[stem].clone()).collect();
70-
//println!("{:?}", rootfs_unit_deps);
83+
trace!("rootfs_unit_deps = {:?}", rootfs_unit_deps);
7184
stems.reverse();
7285
let overlay_mounts: Vec<_> = stems
7386
.iter()
7487
.map(|stem| mounts_path.join(stem).to_string_lossy().to_string())
7588
.collect();
76-
//println!("{:?}", overlay_mounts);
89+
trace!("overlay_mounts = {:?}", overlay_mounts);
7790

7891
writeln!(
7992
rootfs_unit,

0 commit comments

Comments
 (0)