1
0
Fork 0

functions: added 'log' which helps with debugging

E.g.:
[variables]
dummy=${f:log:${f:exec:uname}}

Logs the output of the 'uname' command to the TuneD log.

Also added more verbose debug output which can help with functions
debugging. Enable with 'tuned -D'.

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
This commit is contained in:
Jaroslav Škarvada 2024-04-11 18:38:56 +02:00
parent 1fb7c803b6
commit 3a286103c3
No known key found for this signature in database
GPG key ID: D8E1C00E076E840B
2 changed files with 20 additions and 0 deletions

View file

@ -0,0 +1,19 @@
import tuned.logs
from . import base
log = tuned.logs.get()
class execute(base.Function):
"""
Expands to concatenation of arguments and logs the result, useful for debugging.
"""
def __init__(self):
# unlimited number of arguments, min 1 argument (the value to log)
super(execute, self).__init__("log", 0, 1)
def execute(self, args):
if not super(execute, self).execute(args):
return None
s = "".join(args)
log.info(s)
return s

View file

@ -56,6 +56,7 @@ class Functions():
log.error("function '%s' not implemented" % sl[1])
return
s = f.execute(sl[2:])
log.debug("${f:%s} expands to: '%s'" % (":".join(sl[1:]), s))
if s is None:
return
self._sub(_from, self._cnt, s)