Skip to content

Commit c8f72c9

Browse files
committed
Pass verbosity flag to subprocesses as environment variable
1 parent f2141ed commit c8f72c9

File tree

3 files changed

+22
-4
lines changed

3 files changed

+22
-4
lines changed

base/cvd/cuttlefish/common/libs/utils/tee_logging.cpp

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -290,8 +290,8 @@ Result<LogSeverity> ToSeverity(const std::string& value) {
290290
}
291291
int value_int;
292292
CF_EXPECT(android::base::ParseInt(value, &value_int),
293-
"Unable to determine severity from \"" << value << "\"");
294-
for (const auto& [name, value]: string_to_severity) {
293+
"Unable to determine severity from \"" << value << "\"");
294+
for (const auto& [name, value] : string_to_severity) {
295295
if (static_cast<int>(value) == value_int) {
296296
return value;
297297
}
@@ -306,11 +306,16 @@ static LogSeverity GuessSeverity(const std::string& env_var,
306306
}
307307

308308
LogSeverity ConsoleSeverity() {
309-
return GuessSeverity("CF_CONSOLE_SEVERITY", LogSeverity::Info);
309+
return GuessSeverity(kConsoleSeverityEnvVar, LogSeverity::Info);
310310
}
311311

312312
LogSeverity LogFileSeverity() {
313-
return GuessSeverity("CF_FILE_SEVERITY", LogSeverity::Debug);
313+
LogSeverity severity = GuessSeverity(kFileSeverityEnvVar, LogSeverity::Debug);
314+
if (severity > LogSeverity::Debug) {
315+
// Debug or higher severity logs must always be written to files.
316+
return LogSeverity::Debug;
317+
}
318+
return severity;
314319
}
315320

316321
void SetLoggers(std::vector<SeverityTarget> destinations,

base/cvd/cuttlefish/common/libs/utils/tee_logging.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@
2525

2626
namespace cuttlefish {
2727

28+
constexpr const char* kConsoleSeverityEnvVar = "CF_CONSOLE_SEVERITY";
29+
constexpr const char* kFileSeverityEnvVar = "CF_FILE_SEVERITY";
30+
2831
enum class LogSeverity : int {
2932
Verbose = 0,
3033
Debug,

base/cvd/cuttlefish/host/commands/cvd/main.cc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,16 @@ LogSeverity CvdVerbosityOption(cvd_common::Args& all_args) {
7070
return LogSeverity::Info;
7171
}
7272
LogSeverity verbosity = *to_severity_res;
73+
// Set environment variables to the requested verbosity for subcommands and
74+
// subprocesses to use.
75+
if (int res = setenv(kConsoleSeverityEnvVar, verbosity_flag_value.c_str(), 1);
76+
res) {
77+
PLOG(ERROR) << "Failed to set console log severity environment variable";
78+
}
79+
if (int res = setenv(kFileSeverityEnvVar, verbosity_flag_value.c_str(), 1);
80+
res) {
81+
PLOG(ERROR) << "Failed to set file log severity environment variable";
82+
}
7383
return verbosity;
7484
}
7585

0 commit comments

Comments
 (0)