forked from cerc-io/stack-orchestrator
Even more logging fixes (#757)
Hopefully the last one for a bit. This only output the cmdline if log_file is present (ie, not to stdout). It also fixes a bug where the log_file was not passed in one line. Reviewed-on: cerc-io/stack-orchestrator#757 Co-authored-by: Thomas E Lackey <telackey@bozemanpass.com> Co-committed-by: Thomas E Lackey <telackey@bozemanpass.com>
This commit is contained in:
parent
4a4d48ddb9
commit
6bd77c893a
@ -40,13 +40,18 @@ class AttrDict(dict):
|
|||||||
|
|
||||||
|
|
||||||
def logged_cmd(log_file, *vargs):
|
def logged_cmd(log_file, *vargs):
|
||||||
|
result = None
|
||||||
try:
|
try:
|
||||||
print(" ".join(vargs), file=log_file)
|
if log_file:
|
||||||
result = subprocess.run(vargs, capture_output=True, stdout=log_file, stderr=log_file)
|
print(" ".join(vargs), file=log_file)
|
||||||
|
result = subprocess.run(vargs, capture_output=True)
|
||||||
result.check_returncode()
|
result.check_returncode()
|
||||||
return result.stdout.decode()
|
return result.stdout.decode()
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
print(str(err), file=log_file)
|
if result:
|
||||||
|
print(result.stderr.decode(), file=log_file)
|
||||||
|
else:
|
||||||
|
print(str(err), file=log_file)
|
||||||
raise err
|
raise err
|
||||||
|
|
||||||
|
|
||||||
@ -184,7 +189,7 @@ class LaconicRegistryClient:
|
|||||||
self.set_name(name, new_record_id)
|
self.set_name(name, new_record_id)
|
||||||
return new_record_id
|
return new_record_id
|
||||||
finally:
|
finally:
|
||||||
logged_cmd("rm", "-rf", tmpdir)
|
logged_cmd(self.log_file, "rm", "-rf", tmpdir)
|
||||||
|
|
||||||
def set_name(self, name, record_id):
|
def set_name(self, name, record_id):
|
||||||
logged_cmd(self.log_file, "laconic", "-c", self.config_file, "cns", "name", "set", name, record_id)
|
logged_cmd(self.log_file, "laconic", "-c", self.config_file, "cns", "name", "set", name, record_id)
|
||||||
|
Loading…
Reference in New Issue
Block a user