1
0
Fork 0

Capture logs through dbus session created by verify call

This commit is contained in:
Tomas Korbar 2020-12-14 09:25:58 +01:00
parent 2120e171e3
commit e79d4a8e75
3 changed files with 20 additions and 14 deletions

View file

@ -356,12 +356,12 @@ class Admin(object):
return True
def _action_dbus_verify_profile(self, ignore_missing):
if self._log_level is not None:
self._log_capture_start()
if ignore_missing:
ret = self._controller.verify_profile_ignore_missing()
logs, ret = self._controller.verify_profile_ignore_missing(self._log_level)
else:
ret = self._controller.verify_profile()
logs, ret = self._controller.verify_profile(self._log_level)
print(logs, end = "", file = sys.stderr)
sys.stderr.flush()
if ret:
print("Verfication succeeded, current system settings match the preset profile.")
else:

View file

@ -131,11 +131,11 @@ class DBusController(object):
def recommend_profile(self):
return self._call("recommend_profile")
def verify_profile(self):
return self._call("verify_profile")
def verify_profile(self, log_level):
return self._call("verify_profile", log_level)
def verify_profile_ignore_missing(self):
return self._call("verify_profile_ignore_missing")
def verify_profile_ignore_missing(self, log_level):
return self._call("verify_profile_ignore_missing", log_level)
def off(self):
return self._call("disable")

View file

@ -259,17 +259,23 @@ class Controller(tuned.exports.interfaces.ExportableInterface):
return ""
return self._daemon.profile_recommender.recommend()
@exports.export("", "b")
def verify_profile(self, caller = None):
@exports.export("i", "(sb)")
def verify_profile(self, log_level, caller = None):
if caller == "":
return False
return self._daemon.verify_profile(ignore_missing = False)
token = tuned.logs.log_capture_start(log_level)
ver_result = self._daemon.verify_profile(ignore_missing = False)
logs = tuned.logs.log_capture_finish(token)
return (logs, ver_result)
@exports.export("", "b")
def verify_profile_ignore_missing(self, caller = None):
@exports.export("i", "(sb)")
def verify_profile_ignore_missing(self, log_level, caller = None):
if caller == "":
return False
return self._daemon.verify_profile(ignore_missing = True)
token = tuned.logs.log_capture_start(log_level)
ver_result = self._daemon.verify_profile(ignore_missing = True)
logs = tuned.logs.log_capture_finish(token)
return (logs, ver_result)
@exports.export("", "a{sa{ss}}")
def get_all_plugins(self, caller = None):