diff --git a/src/init.cpp b/src/init.cpp --- a/src/init.cpp +++ b/src/init.cpp @@ -1528,8 +1528,9 @@ // Special-case: if -debug=0/-nodebug is set, turn off debugging // messages const std::vector &categories = gArgs.GetArgs("-debug"); - if (find(categories.begin(), categories.end(), std::string("0")) == - categories.end()) { + if (std::none_of( + categories.begin(), categories.end(), + [](std::string cat) { return cat == "0" || cat == "none"; })) { for (const auto &cat : categories) { BCLog::LogFlags flag = BCLog::NONE; if (!GetLogCategory(flag, cat)) { diff --git a/src/rpc/misc.cpp b/src/rpc/misc.cpp --- a/src/rpc/misc.cpp +++ b/src/rpc/misc.cpp @@ -420,25 +420,43 @@ static UniValue logging(const Config &config, const JSONRPCRequest &request) { if (request.fHelp || request.params.size() > 2) { throw std::runtime_error( - "logging [include,...] \n" + "logging ( )\n" "Gets and sets the logging configuration.\n" "When called without an argument, returns the list of categories " - "that are currently being debug logged.\n" + "with status that are currently being debug logged or not.\n" "When called with arguments, adds or removes categories from debug " - "logging.\n" + "logging and return the lists above.\n" + "The arguments are evaluated in order \"include\", \"exclude\".\n" + "If an item is both included and excluded, it will thus end up " + "being excluded.\n" "The valid logging categories are: " + ListLogCategories() + "\n" - "libevent logging is configured on startup and cannot be modified " - "by this RPC during runtime.\n" - "Arguments:\n" - "1. \"include\" (array of strings) add debug logging for these " - "categories.\n" - "2. \"exclude\" (array of strings) remove debug logging for these " - "categories.\n" + "In addition, the following are available as category names with " + "special meanings:\n" + " - \"all\", \"1\" : represent all logging categories.\n" + " - \"none\", \"0\" : even if other logging categories are " + "specified, ignore all of them.\n" + "\nArguments:\n" + "1. \"include\" (array of strings, optional) A json array " + "of categories to add debug logging\n" + " [\n" + " \"category\" (string) the valid logging category\n" + " ,...\n" + " ]\n" + "2. \"exclude\" (array of strings, optional) A json array " + "of categories to remove debug logging\n" + " [\n" + " \"category\" (string) the valid logging category\n" + " ,...\n" + " ]\n" "\nResult:\n" - " (string): a list of the logging categories that are " - "active.\n" + "{ (json object where keys are the logging " + "categories, and values indicates its status\n" + " \"category\": 0|1, (numeric) if being debug logged or not. " + "0:inactive, 1:active\n" + " ...\n" + "}\n" "\nExamples:\n" + HelpExampleCli("logging", "\"[\\\"all\\\"]\" \"[\\\"http\\\"]\"") + HelpExampleRpc("logging", "[\"all\"], \"[libevent]\""));