Redirect stdout and stderr from server into two distinct files

Instead of having interleaved stdout and stderr in server-output, we now
have respectively:

* stdout redirected to server-stdout
* stderr redirected to server-stderr

This will allow us to monitor for warnings / errors more efficiently.

Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
This commit is contained in:
Olivier Gayot 2022-03-08 11:16:31 +01:00
parent 9a5e5b3406
commit 9856b79f36
2 changed files with 6 additions and 4 deletions

View File

@ -99,11 +99,12 @@ def main():
server_args.extend(('--output-base', base))
server_parser = make_server_args_parser()
server_parser.parse_args(server_args) # just to check
server_output = open(base + '/server-output', 'w')
server_stdout = open(os.path.join(base, 'server-stdout'), 'w')
server_stderr = open(os.path.join(base, 'server-stderr'), 'w')
server_cmd = [sys.executable, '-m', 'subiquity.cmd.server'] + \
server_args
server_proc = subprocess.Popen(
server_cmd, stdout=server_output, stderr=subprocess.STDOUT)
server_cmd, stdout=server_stdout, stderr=server_stderr)
opts.server_pid = str(server_proc.pid)
print("running server pid {}".format(server_proc.pid))
elif opts.server_pid is not None:

View File

@ -94,7 +94,8 @@ def main():
server_args += ['--prefill='+opts.prefill]
os.makedirs(server_output_dir, exist_ok=True)
server_output = open(os.path.join(server_output_dir, 'server-output'), 'w')
server_stdout = open(os.path.join(server_output_dir, 'server-stdout'), 'w')
server_stderr = open(os.path.join(server_output_dir, 'server-stderr'), 'w')
if need_start_server:
if os.path.exists(server_state_file):
@ -104,7 +105,7 @@ def main():
server_cmd = [sys.executable, '-m', 'system_setup.cmd.server'] + \
server_args
server_proc = subprocess.Popen(
server_cmd, stdout=server_output, stderr=subprocess.STDOUT)
server_cmd, stdout=server_stdout, stderr=server_stderr)
opts.server_pid = str(server_proc.pid)
print("running server pid {} with args: {}"
.format(server_proc.pid, server_cmd))