aboutsummaryrefslogtreecommitdiff
path: root/src/libutil/logging.hh
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2016-09-21 16:00:03 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2016-09-21 16:54:53 +0200
commit4036185cb4bacbf6acaaa1a906924dfa2cdd9413 (patch)
treeb7169ae0d7a120e433dcecbd20333f0dbd1e8f8a /src/libutil/logging.hh
parent3f8e620b1907968c47bdbe955095301159dc78ad (diff)
Some notational convenience for formatting strings
We can now write throw Error("file '%s' not found", path); instead of throw Error(format("file '%s' not found") % path); and similarly printError("file '%s' not found", path); instead of printMsg(lvlError, format("file '%s' not found") % path);
Diffstat (limited to 'src/libutil/logging.hh')
-rw-r--r--src/libutil/logging.hh11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/libutil/logging.hh b/src/libutil/logging.hh
index 277dff280..ba99a81c3 100644
--- a/src/libutil/logging.hh
+++ b/src/libutil/logging.hh
@@ -66,14 +66,19 @@ Logger * makeDefaultLogger();
extern Verbosity verbosity; /* suppress msgs > this */
-#define printMsg(level, f) \
+/* Print a message if the current log level is at least the specified
+ level. Note that this has to be implemented as a macro to ensure
+ that the arguments are evaluated lazily. */
+#define printMsg(level, args...) \
do { \
if (level <= nix::verbosity) { \
- logger->log(level, (f)); \
+ logger->log(level, fmt(args)); \
} \
} while (0)
-#define debug(f) printMsg(lvlDebug, f)
+#define printError(args...) printMsg(lvlError, args)
+#define printInfo(args...) printMsg(lvlInfo, args)
+#define debug(args...) printMsg(lvlDebug, args)
void warnOnce(bool & haveWarned, const FormatOrString & fs);