logger: Add warn!, error! and info!

This commit is contained in:
cohenarthur 2020-04-18 15:30:33 +02:00
parent e39cd62719
commit aa3b7e49ba
4 changed files with 92 additions and 0 deletions

43
Cargo.lock generated
View file

@ -68,6 +68,17 @@ version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
[[package]]
name = "chrono"
version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "80094f509cf8b5ae86a4966a39b3ff66cd7e2a3e594accec3743ff3fabeab5b2"
dependencies = [
"num-integer",
"num-traits",
"time",
]
[[package]]
name = "clap"
version = "2.33.0"
@ -83,6 +94,17 @@ dependencies = [
"vec_map",
]
[[package]]
name = "colored"
version = "1.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4ffc801dacf156c5854b9df4f425a626539c3a6ef7893cc0c5084a23f0b6c59"
dependencies = [
"atty",
"lazy_static",
"winapi 0.3.8",
]
[[package]]
name = "core-foundation"
version = "0.7.0"
@ -616,6 +638,25 @@ version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
[[package]]
name = "num-integer"
version = "0.1.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba"
dependencies = [
"autocfg",
"num-traits",
]
[[package]]
name = "num-traits"
version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096"
dependencies = [
"autocfg",
]
[[package]]
name = "num_cpus"
version = "1.12.0"
@ -1133,6 +1174,8 @@ dependencies = [
name = "suckit"
version = "0.1.0"
dependencies = [
"chrono",
"colored",
"kuchiki",
"pretty_assertions",
"reqwest",

View file

@ -11,3 +11,5 @@ structopt = "0.3"
reqwest = { version = "0.10", features = ["blocking"] }
pretty_assertions = "0.6"
kuchiki = "0.8"
colored = "1.9"
chrono = "0.4"

41
src/logger.rs Normal file
View file

@ -0,0 +1,41 @@
use colored::*;
use chrono::Local;
/// Time formatting string used in the call to Local::now()
/// Outputs the following:
/// <YEAR>-<MONTH>-<DAY>T<HOUR>:<MINUTES>:<SECONDS>
static TIME_FORMAT: &str = "%Y-%m-%dT%H:%M:%S";
/// Write a message using the following format
/// <TIME_FORMAT>: [<header>] <message>
pub struct Logger {
}
impl Logger {
pub fn info(message: String) {
println!("{}: [{}] {}", Local::now().format(TIME_FORMAT), "INFO".blue(), message);
}
pub fn warn(message: String) {
println!("{}: [{}] {}", Local::now().format(TIME_FORMAT), "WARN".yellow(), message);
}
pub fn error(message: String) {
eprintln!("{}: [{}] {}", Local::now().format(TIME_FORMAT), "ERROR".red(), message);
}
}
#[macro_export]
macro_rules! info {
($($arg: tt)*) => ($crate::logger::Logger::info(format!($($arg)*)));
}
#[macro_export]
macro_rules! warn {
($($arg: tt)*) => ($crate::logger::Logger::warn(format!($($arg)*)));
}
#[macro_export]
macro_rules! error {
($($arg: tt)*) => ($crate::logger::Logger::error(format!($($arg)*)));
}

View file

@ -3,6 +3,7 @@ mod disk;
mod dom;
mod downloader;
mod scraper;
mod logger;
use scraper::Scraper;
@ -11,5 +12,10 @@ fn main() {
let mut scraper = Scraper::new(args);
info!("Hey there, suckit speaking");
warn!("Start sucking");
scraper.run();
error!("sucking complete !");
}