aboutsummaryrefslogtreecommitdiff
path: root/src/libutil/logging.cc
diff options
context:
space:
mode:
authorBen Burdette <bburdette@gmail.com>2020-07-02 09:04:31 -0600
committerBen Burdette <bburdette@gmail.com>2020-07-02 09:04:31 -0600
commitbf2788e4c1d92a8d625f016b2a3b4d34990f33e3 (patch)
treee97552c393a7e0bc4544020869f65486e9f2e8ec /src/libutil/logging.cc
parent5ae498872a832b0df93b551210f0a3a8b6ffaa35 (diff)
move showTrace to new loggerSettings
Diffstat (limited to 'src/libutil/logging.cc')
-rw-r--r--src/libutil/logging.cc34
1 files changed, 12 insertions, 22 deletions
diff --git a/src/libutil/logging.cc b/src/libutil/logging.cc
index 7a58527b8..90c6afe81 100644
--- a/src/libutil/logging.cc
+++ b/src/libutil/logging.cc
@@ -1,5 +1,6 @@
#include "logging.hh"
#include "util.hh"
+#include "config.hh"
#include <atomic>
#include <nlohmann/json.hpp>
@@ -7,6 +8,10 @@
namespace nix {
+LoggerSettings loggerSettings;
+
+static GlobalConfig::Register r1(&loggerSettings);
+
static thread_local ActivityId curActivity = 0;
ActivityId getCurActivity()
@@ -18,7 +23,7 @@ void setCurActivity(const ActivityId activityId)
curActivity = activityId;
}
-Logger * logger = makeSimpleLogger(true, false);
+Logger * logger = makeSimpleLogger(true);
void Logger::warn(const std::string & msg)
{
@@ -36,10 +41,9 @@ public:
bool systemd, tty;
bool printBuildLogs;
- bool showTrace;
- SimpleLogger(bool printBuildLogs, bool showTrace)
- : printBuildLogs(printBuildLogs), showTrace(showTrace)
+ SimpleLogger(bool printBuildLogs)
+ : printBuildLogs(printBuildLogs)
{
systemd = getEnv("IN_SYSTEMD") == "1";
tty = isatty(STDERR_FILENO);
@@ -49,13 +53,6 @@ public:
return printBuildLogs;
}
- bool getShowTrace() const override {
- return showTrace;
- }
- void setShowTrace(bool showTrace) override {
- this->showTrace = showTrace;
- }
-
void log(Verbosity lvl, const FormatOrString & fs) override
{
if (lvl > verbosity) return;
@@ -80,7 +77,7 @@ public:
void logEI(const ErrorInfo & ei) override
{
std::stringstream oss;
- showErrorInfo(oss, ei, showTrace);
+ showErrorInfo(oss, ei, loggerSettings.showTrace.get());
log(ei.level, oss.str());
}
@@ -129,9 +126,9 @@ void writeToStderr(const string & s)
}
}
-Logger * makeSimpleLogger(bool printBuildLogs, bool showTrace)
+Logger * makeSimpleLogger(bool printBuildLogs)
{
- return new SimpleLogger(printBuildLogs, showTrace);
+ return new SimpleLogger(printBuildLogs);
}
std::atomic<uint64_t> nextId{(uint64_t) getpid() << 32};
@@ -152,13 +149,6 @@ struct JSONLogger : Logger {
return true;
}
- bool getShowTrace() const override {
- return prevLogger.getShowTrace();
- }
- void setShowTrace(bool showTrace) override {
- prevLogger.setShowTrace(showTrace);
- }
-
void addFields(nlohmann::json & json, const Fields & fields)
{
if (fields.empty()) return;
@@ -189,7 +179,7 @@ struct JSONLogger : Logger {
void logEI(const ErrorInfo & ei) override
{
std::ostringstream oss;
- showErrorInfo(oss, ei, getShowTrace());
+ showErrorInfo(oss, ei, loggerSettings.showTrace.get());
nlohmann::json json;
json["action"] = "msg";