Francesco Romani has uploaded a new change for review.
Change subject: api: allow setLogLevel to tune a specific logger
......................................................................
api: allow setLogLevel to tune a specific logger
the not widely known setLogLevel VDSM verb allows to dinamically tune
the log level of the root logger, until the next restart of VDSM.
This patch extends the API to let the client tune any specific
logger.
Change-Id: I8f40488fac04031552f36b9de026a0062ab81db0
Signed-off-by: Francesco Romani <fromani(a)redhat.com>
---
M vdsm/API.py
M vdsm/rpc/BindingXMLRPC.py
M vdsm/rpc/vdsmapi-schema.json
3 files changed, 12 insertions(+), 6 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/26/38426/1
diff --git a/vdsm/API.py b/vdsm/API.py
index 85478b1..593f336 100644
--- a/vdsm/API.py
+++ b/vdsm/API.py
@@ -1360,7 +1360,7 @@
return {'status': doneCode, 'info': stats}
- def setLogLevel(self, level):
+ def setLogLevel(self, level, name=None):
"""
Set verbosity level of vdsm's log.
@@ -1382,8 +1382,10 @@
except KeyError:
return errCode['unavail']
else:
- logging.info('Setting loglevel to %s (%d)', level, log_level)
- _set_log_level(logging.getLogger(), log_level)
+ logger = logging.getLogger(name)
+ logging.info('Setting loglevel on %s to %s (%d)',
+ logger.name, level, log_level)
+ _set_log_level(logger, log_level)
return {'status': doneCode}
# VM-related functions
diff --git a/vdsm/rpc/BindingXMLRPC.py b/vdsm/rpc/BindingXMLRPC.py
index b01b661..ea0e0c3 100644
--- a/vdsm/rpc/BindingXMLRPC.py
+++ b/vdsm/rpc/BindingXMLRPC.py
@@ -583,9 +583,9 @@
return api.fenceNode(addr, port, agent, username, password, action,
secure, options, policy)
- def setLogLevel(self, level):
+ def setLogLevel(self, level, name=None):
api = API.Global()
- return api.setLogLevel(level)
+ return api.setLogLevel(level, name)
def setMOMPolicy(self, policy):
api = API.Global()
diff --git a/vdsm/rpc/vdsmapi-schema.json b/vdsm/rpc/vdsmapi-schema.json
index 1d919e8..854e7aa 100644
--- a/vdsm/rpc/vdsmapi-schema.json
+++ b/vdsm/rpc/vdsmapi-schema.json
@@ -4030,10 +4030,14 @@
#
# @level: The new verosity level desired
#
+# @name: #optional If present, change settings only for the logger
+# with this name. Otherwise, change settings for the top-level
+# logger (new in version 4.17.0).
+#
# Since: 4.10.0
##
{'command': {'class': 'Host', 'name':
'setLogLevel'},
- 'data': {'level': 'LoggingLevel'}}
+ 'data': {'level': 'LoggingLevel', '*name':
'str'}}
##
# @Host.setSafeNetworkConfig:
--
To view, visit
https://gerrit.ovirt.org/38426
To unsubscribe, visit
https://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I8f40488fac04031552f36b9de026a0062ab81db0
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Francesco Romani <fromani(a)redhat.com>