From 9563007069122e5bbbadb8d1a8750a9eecf1f65a Mon Sep 17 00:00:00 2001 From: Manos Pitsidianakis Date: Sat, 21 Sep 2019 21:25:21 +0300 Subject: [PATCH] Turn off debug tracing prints in stderr by default --- Cargo.toml | 6 ++++++ README | 55 +++++------------------------------------------- melib/src/lib.rs | 6 +++--- 3 files changed, 14 insertions(+), 53 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index bbf74763..dcdbf90e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,3 +22,9 @@ debug = false [workspace] members = ["melib", "ui", "debug_printer", "testing", "text_processing"] + +[features] +default = [] + +# Print tracing logs as meli runs +debug-tracing = [] diff --git a/README b/README index 364d2eab..3cbc4f5b 100644 --- a/README +++ b/README @@ -1,49 +1,3 @@ - __ - __/ \__ -/ \__/ \__ . -\__/ \__/ \ , _ , _ ___ │ ' -/ \__ \__/ │' `│ `┒ .' ` │ │ -\__/ \__/ \ │ │ │ |────' │ │ - \__/ \__/ │ / `.___, /\__ / - \__/ - ,-. - \_/ - terminal mail user agent {|||)< - / \ - `-' -DOCUMENTATION -============= - -After installing meli, see meli(1) and meli.conf(5) for documentation. - -BUILDING -======== - -meli requires rust 1.34 and rust's package manager, Cargo. Information on how -to get it on your system can be found here: - -https://doc.rust-lang.org/cargo/getting-started/installation.html - -With Cargo available, the project can be built with - -# make - -The resulting binary will then be found under target/release/meli - -Run: - -# make install - -to install the binary and man pages. This requires root, so I suggest you override the default paths and install it in your $HOME: - -# make PREFIX=$HOME/.local install - -See meli(1) and meli.conf(5) for documentation. - -You can build and run meli with one command: - -# cargo run --release - While the project is in early development, meli will only be developed for the linux kernel and respected linux distributions. Support for more UNIX-like OSes is on the roadmap. @@ -54,10 +8,11 @@ DEVELOPMENT Development builds can be built and/or run with # cargo build -# cargo run 2> debug.log +# cargo run -The debug logs can be disabled by setting debug-assertions to false in the -development profile in Cargo.toml. In the future debug logs will be a feature. +There is a debug/tracing log feature that can be enabled by using the flag +`--feature debug-tracing` or in a development profile in Cargo.toml. The logs +are printed in stderr, thus you can run meli with a redirection (i.e `2> log`) CONFIG ====== @@ -68,7 +23,7 @@ meli by default looks for a configuration file in this location: You can run meli with arbitrary configuration files by setting the MELI_CONFIG environment variable to their locations, ie: -# MELI_CONFIG=./test_config cargo run 2> debug.log +# MELI_CONFIG=./test_config cargo run TESTING ======= diff --git a/melib/src/lib.rs b/melib/src/lib.rs index c908aec9..1a459469 100644 --- a/melib/src/lib.rs +++ b/melib/src/lib.rs @@ -25,7 +25,7 @@ pub mod dbg { macro_rules! debug { ($val:literal) => { { - if cfg!(debug_assertions) { + if cfg!(feature="debug-tracing") { eprint!( "[{:?}] {}:{}_{}: ", std::thread::current() @@ -42,7 +42,7 @@ pub mod dbg { } }; ($val:expr) => { - if cfg!(debug_assertions) { + if cfg!(feature="debug-tracing") { let stringify = stringify!($val); // Use of `match` here is intentional because it affects the lifetimes // of temporaries - https://stackoverflow.com/a/48732525/1063961 @@ -67,7 +67,7 @@ pub mod dbg { } }; ($fmt:literal, $($arg:tt)*) => { - if cfg!(debug_assertions) { + if cfg!(feature="debug-tracing") { eprint!( "[{:?}] {}:{}_{}: ", std::thread::current()