tools/scylla-nodetool: implement setlogginglevel command
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
#
|
||||
|
||||
from rest_api_mock import expected_request
|
||||
import utils
|
||||
|
||||
|
||||
def test_getlogginglevels(nodetool):
|
||||
@@ -18,3 +19,24 @@ Logger Name Log Level
|
||||
sstable info
|
||||
cache trace
|
||||
"""
|
||||
|
||||
|
||||
def test_setlogginglevel(nodetool):
|
||||
nodetool("setlogginglevel", "wasm", "trace", expected_requests=[
|
||||
expected_request("POST", "/system/logger/wasm", params={"level": "trace"})])
|
||||
|
||||
|
||||
def test_setlogginglevel_reset_logger(nodetool, scylla_only):
|
||||
utils.check_nodetool_fails_with(
|
||||
nodetool,
|
||||
("setlogginglevel", "wasm"),
|
||||
{"expected_requests": []},
|
||||
["error processing arguments: resetting logger(s) is not supported yet, the logger and level parameters are required"])
|
||||
|
||||
|
||||
def test_setlogginglevel_reset_all_loggers(nodetool, scylla_only):
|
||||
utils.check_nodetool_fails_with(
|
||||
nodetool,
|
||||
("setlogginglevel",),
|
||||
{"expected_requests": []},
|
||||
["error processing arguments: resetting logger(s) is not supported yet, the logger and level parameters are required"])
|
||||
|
||||
@@ -585,6 +585,13 @@ void removenode_operation(scylla_rest_client& client, const bpo::variables_map&
|
||||
}
|
||||
}
|
||||
|
||||
void setlogginglevel_operation(scylla_rest_client& client, const bpo::variables_map& vm) {
|
||||
if (!vm.count("logger") || !vm.count("level")) {
|
||||
throw std::invalid_argument("resetting logger(s) is not supported yet, the logger and level parameters are required");
|
||||
}
|
||||
client.post(format("/system/logger/{}", vm["logger"].as<sstring>()), {{"level", vm["level"].as<sstring>()}});
|
||||
}
|
||||
|
||||
void settraceprobability_operation(scylla_rest_client& client, const bpo::variables_map& vm) {
|
||||
if (!vm.count("trace_probability")) {
|
||||
throw std::invalid_argument("required parameters are missing: trace_probability");
|
||||
@@ -1052,6 +1059,23 @@ Fore more information, see: https://opensource.docs.scylladb.com/stable/operatin
|
||||
},
|
||||
removenode_operation
|
||||
},
|
||||
{
|
||||
{
|
||||
"setlogginglevel",
|
||||
"Sets the level log threshold for a given logger during runtime",
|
||||
R"(
|
||||
Resetting the log level of one or all loggers is not supported yet.
|
||||
|
||||
Fore more information, see: https://opensource.docs.scylladb.com/stable/operating-scylla/nodetool-commands/setlogginglevel.html
|
||||
)",
|
||||
{ },
|
||||
{
|
||||
typed_option<sstring>("logger", "The logger to set the log level for, if unspecified, all loggers are reset to the default level", 1),
|
||||
typed_option<sstring>("level", "The log level to set, one of (trace, debug, info, warn and error), if unspecified, default level is reset to default log level", 1),
|
||||
},
|
||||
},
|
||||
setlogginglevel_operation
|
||||
},
|
||||
{
|
||||
{
|
||||
"settraceprobability",
|
||||
|
||||
Reference in New Issue
Block a user