summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManos Pitsidianakis <el13635@mail.ntua.gr>2019-09-21 21:25:21 +0300
committerManos Pitsidianakis <el13635@mail.ntua.gr>2019-09-21 21:29:33 +0300
commit9563007069122e5bbbadb8d1a8750a9eecf1f65a (patch)
tree5433a8e860b2bb98c54d2ff11b741d8dc4995405
parent6e75160b70496d61988fee31d4c28e47f367a518 (diff)
Turn off debug tracing prints in stderr by default
-rw-r--r--Cargo.toml6
-rw-r--r--README55
-rw-r--r--melib/src/lib.rs6
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()