diff options
author | Klaus Aehlig <klaus.aehlig@huawei.com> | 2024-04-10 12:01:54 +0200 |
---|---|---|
committer | Klaus Aehlig <klaus.aehlig@huawei.com> | 2024-04-10 16:18:07 +0200 |
commit | aafd97ee263f11da108b873ed8f350f3824f9f67 (patch) | |
tree | 9b2a475f7022527e109e078bc4d2cf65dddc79dc /src | |
parent | 7034d65c652e6cf5d66e7f17787f359f304d2637 (diff) | |
download | justbuild-aafd97ee263f11da108b873ed8f350f3824f9f67.tar.gz |
Support stderr log-limit restriciton for serve
As `just serve` is used like a daemon it can be desirable to restrict
stderr, e.g., to only errors, while keeping a detailled log of the
activity in a file.
Diffstat (limited to 'src')
-rw-r--r-- | src/buildtool/main/serve.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/buildtool/main/serve.cpp b/src/buildtool/main/serve.cpp index 9dc4d936..1c321c0b 100644 --- a/src/buildtool/main/serve.cpp +++ b/src/buildtool/main/serve.cpp @@ -239,6 +239,23 @@ void ReadJustServeConfig(gsl::not_null<CommandLineArguments*> const& clargs) { } clargs->log.log_limit = ToLogLevel(limit->Number()); } + // read stderr restriction + auto stderr_limit = + logging->Get("restrict stderr limit", Expression::none_t{}); + if (stderr_limit.IsNotNull()) { + if (not stderr_limit->IsNumber()) { + Logger::Log( + LogLevel::Error, + "In serve service config file {}:\nValue for logging key " + "\"restrict stderr limit\" has to be numeric, but found {}", + clargs->serve.config.string(), + limit->ToString()); + std::exit(kExitFailure); + } + clargs->log.restrict_stderr_log_limit = + ToLogLevel(stderr_limit->Number()); + } + // read stderr restriction } // read client TLS authentication arguments auto auth_args = serve_config["authentication"]; |