diff options
Diffstat (limited to 'src/util.cc')
-rw-r--r-- | src/util.cc | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/util.cc b/src/util.cc index a16643022a9d..8510bb7a6355 100644 --- a/src/util.cc +++ b/src/util.cc @@ -130,13 +130,20 @@ void deletePath(string path) } +Verbosity verbosity = lvlNormal; + static int nestingLevel = 0; -Nest::Nest(bool nest) +Nest::Nest(Verbosity level, const format & f) { - this->nest = nest; - if (nest) nestingLevel++; + if (level > verbosity) + nest = false; + else { + msg(level, f); + nest = true; + nestingLevel++; + } } @@ -146,8 +153,9 @@ Nest::~Nest() } -void msg(const format & f) +void msg(Verbosity level, const format & f) { + if (level > verbosity) return; string spaces; for (int i = 0; i < nestingLevel; i++) spaces += "| "; @@ -157,7 +165,7 @@ void msg(const format & f) void debug(const format & f) { - msg(format("debug: %1%") % f.str()); + msg(lvlDebug, format("debug: %1%") % f.str()); } |