From 70e2b2912162aaf8cfaf8002d31b7447d84b9d10 Mon Sep 17 00:00:00 2001 From: Gregory Ballantine Date: Thu, 1 Sep 2022 16:16:27 -0400 Subject: [PATCH] Added logging functionality via log4rs crate --- Cargo.toml | 2 ++ log4rs.yaml | 12 ++++++++++++ src/main.rs | 4 ++++ src/repository.rs | 11 ++++++----- src/transcoder.rs | 7 ++++--- 5 files changed, 28 insertions(+), 8 deletions(-) create mode 100644 log4rs.yaml diff --git a/Cargo.toml b/Cargo.toml index 2ab6727..b330c64 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,6 +8,8 @@ license = "BSD 2-Clause" authors = ["Gregory Ballantine "] [dependencies] +log = "0.4" +log4rs = "1.1" toml = "0.5" serde = "1.0" serde_derive = "1.0" diff --git a/log4rs.yaml b/log4rs.yaml new file mode 100644 index 0000000..3011875 --- /dev/null +++ b/log4rs.yaml @@ -0,0 +1,12 @@ +appenders: + stdout: + kind: console + encoder: + pattern: "{d(%+)(utc)} {h({l})}: {m}{n}" + filters: + - kind: threshold + level: info +root: + level: info + appenders: + - stdout diff --git a/src/main.rs b/src/main.rs index 5fffdcf..d738de0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,4 @@ +use log4rs; use config::Config; use repository::Repository; use transcoder::Transcoder; @@ -7,6 +8,9 @@ mod repository; mod transcoder; fn main() { + // initialize the log4rs logger + log4rs::init_file("./log4rs.yaml", Default::default()).unwrap(); + // create and initialize our config and repository objects let c: Config = Config::new("~/.config/adept.toml"); let r: Repository = Repository::new(&c.get_repository()); diff --git a/src/repository.rs b/src/repository.rs index d0da1d8..44b40f5 100644 --- a/src/repository.rs +++ b/src/repository.rs @@ -1,5 +1,6 @@ use std::fs; use std::path::Path; +use log::{error, info}; pub struct Repository { pub base_dir: String, @@ -53,10 +54,10 @@ impl Repository { match fs::copy(&ingest_file, &archive_file) { Ok(_) => { - println!("Archiving video file {}.", ingest_file.to_str().unwrap()); + info!("Archiving video file {}.", ingest_file.to_str().unwrap()); }, Err(e) => { - eprintln!("Error archiving file {}: {}", ingest_file.to_str().unwrap(), e); + error!("Error archiving file {}: {}", ingest_file.to_str().unwrap(), e); std::process::exit(1); } } @@ -72,14 +73,14 @@ impl Repository { fn create_directory(path: &str) { let d = Path::new(path); if d.is_dir() { - println!("Directory {} already exists.", path); + info!("Directory {} already exists.", path); } else { match fs::create_dir(path) { Ok(_) => { - println!("Creating directory {}.", path); + info!("Creating directory {}.", path); }, Err(e) => { - eprintln!("Error creating {}: {}", path, e); + error!("Error creating {}: {}", path, e); std::process::exit(1); } } diff --git a/src/transcoder.rs b/src/transcoder.rs index efeeb7c..7baeaee 100644 --- a/src/transcoder.rs +++ b/src/transcoder.rs @@ -1,6 +1,7 @@ use std::path::Path; use std::process; use std::{thread, time}; +use log::{info}; use crate::config::Config; use crate::repository::Repository; @@ -19,7 +20,7 @@ impl Transcoder { } pub fn start(self) { - println!("Starting transcoder..."); + info!("Starting transcoder..."); loop { // search for files in ingest @@ -27,7 +28,7 @@ impl Transcoder { // check if we found any files to transcode if ingest_files.len() < 1 { - println!("There were no files found in ingest to transcode; skipping run."); + info!("There were no files found in ingest to transcode; skipping run."); } else { for i in ingest_files { // copy the file to the archive @@ -68,6 +69,6 @@ impl Transcoder { assert!(cmd_output.status.success()); let results_raw = &String::from_utf8_lossy(&cmd_output.stderr); - println!("{}", results_raw); + info!("{}", results_raw); } }