aboutsummaryrefslogtreecommitdiff
path: root/src/libutil/logging.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/libutil/logging.hh')
-rw-r--r--src/libutil/logging.hh25
1 files changed, 16 insertions, 9 deletions
diff --git a/src/libutil/logging.hh b/src/libutil/logging.hh
index 09619aac6..96ad69790 100644
--- a/src/libutil/logging.hh
+++ b/src/libutil/logging.hh
@@ -37,10 +37,12 @@ typedef uint64_t ActivityId;
struct LoggerSettings : Config
{
- Setting<bool> showTrace{this,
- false,
- "show-trace",
- "Whether to show a stack trace on evaluation errors."};
+ Setting<bool> showTrace{
+ this, false, "show-trace",
+ R"(
+ Where Nix should print out a stack trace in case of Nix
+ expression evaluation errors.
+ )"};
};
extern LoggerSettings loggerSettings;
@@ -98,12 +100,15 @@ public:
virtual void writeToStdout(std::string_view s);
template<typename... Args>
- inline void stdout(const std::string & fs, const Args & ... args)
+ inline void cout(const std::string & fs, const Args & ... args)
{
boost::format f(fs);
formatHelper(f, args...);
writeToStdout(f.str());
}
+
+ virtual std::optional<char> ask(std::string_view s)
+ { return {}; }
};
ActivityId getCurActivity();
@@ -173,8 +178,8 @@ extern Verbosity verbosity; /* suppress msgs > this */
lightweight status messages. */
#define logErrorInfo(level, errorInfo...) \
do { \
- if (level <= nix::verbosity) { \
- logger->logEI(level, errorInfo); \
+ if ((level) <= nix::verbosity) { \
+ logger->logEI((level), errorInfo); \
} \
} while (0)
@@ -186,12 +191,14 @@ extern Verbosity verbosity; /* suppress msgs > this */
arguments are evaluated lazily. */
#define printMsg(level, args...) \
do { \
- if (level <= nix::verbosity) { \
- logger->log(level, fmt(args)); \
+ auto __lvl = level; \
+ if (__lvl <= nix::verbosity) { \
+ logger->log(__lvl, fmt(args)); \
} \
} while (0)
#define printError(args...) printMsg(lvlError, args)
+#define notice(args...) printMsg(lvlNotice, args)
#define printInfo(args...) printMsg(lvlInfo, args)
#define printTalkative(args...) printMsg(lvlTalkative, args)
#define debug(args...) printMsg(lvlDebug, args)