reduce log levels at runtime

pull/954/head
Jeff Becker 5 years ago
parent 512a350783
commit 950006c036
No known key found for this signature in database
GPG Key ID: F357B3B42F6F9B05

@ -1042,6 +1042,7 @@ namespace llarp
#if defined(WITH_SYSTEMD)
::sd_notify(0, "READY=1");
#endif
LogContext::Instance().DropToRuntimeLevel();
return _running;
}
@ -1091,6 +1092,7 @@ namespace llarp
return;
_stopping.store(true);
LogContext::Instance().RevertRuntimeLevel();
LogInfo("stopping router");
hiddenServiceContext().StopAll();
_exitContext.Stop();

@ -36,6 +36,18 @@ namespace llarp
return ctx;
}
void
LogContext::DropToRuntimeLevel()
{
curLevel = runtimeLevel;
}
void
LogContext::RevertRuntimeLevel()
{
curLevel = startupLevel;
}
log_timestamp::log_timestamp() : log_timestamp("%c %Z")
{
}
@ -50,7 +62,7 @@ namespace llarp
void
SetLogLevel(LogLevel lvl)
{
LogContext::Instance().minLevel = lvl;
LogContext::Instance().curLevel = lvl;
}
} // namespace llarp

@ -83,7 +83,9 @@ namespace llarp
struct LogContext
{
LogContext();
LogLevel minLevel = eLogInfo;
LogLevel curLevel = eLogInfo;
LogLevel startupLevel = eLogInfo;
LogLevel runtimeLevel = eLogWarn;
ILogStream_ptr logStream;
std::string nodeName = "lokinet";
@ -91,6 +93,12 @@ namespace llarp
static LogContext&
Instance();
void
DropToRuntimeLevel();
void
RevertRuntimeLevel();
};
void
@ -102,7 +110,7 @@ namespace llarp
_Log(LogLevel lvl, const char* fname, int lineno, TArgs&&... args) noexcept
{
auto& log = LogContext::Instance();
if(log.minLevel > lvl)
if(log.curLevel > lvl)
return;
std::stringstream ss;

Loading…
Cancel
Save