aboutsummaryrefslogtreecommitdiff
path: root/src/util.cc
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2003-07-24 08:53:43 +0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2003-07-24 08:53:43 +0000
commit1a7468a57a11288a007c40d50ed28718d757a546 (patch)
tree175c3f3819298006548f4f7d00f4c98ce8135c6b /src/util.cc
parentb75719b98457c61857689ab135559a17034dd8ec (diff)
* Debug levels. Use `--verbose / -v LEVEL' to display only messages
up to the given verbosity levels. These currently are: lvlError = 0, lvlNormal = 5, lvlDebug = 10, lvlDebugMore = 15 although only lvlError and lvlDebug are actually used right now.
Diffstat (limited to 'src/util.cc')
-rw-r--r--src/util.cc18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/util.cc b/src/util.cc
index a16643022..8510bb7a6 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());
}