diff options
author | John Newbery <john@johnnewbery.com> | 2017-04-03 13:39:11 -0400 |
---|---|---|
committer | John Newbery <john@johnnewbery.com> | 2017-04-10 17:05:59 -0400 |
commit | 5255aca3f42e44eb02751299e84e2cf122ed9b49 (patch) | |
tree | b61c5e177295c186263cde1a866647c5ef25e660 /src/util.cpp | |
parent | 4d9950d3bc72d92a0ee9a33ab3b77e097eb77354 (diff) |
[rpc] Add logging RPC
Adds an RPC to get and set currently active logging categories.
Diffstat (limited to 'src/util.cpp')
-rw-r--r-- | src/util.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/util.cpp b/src/util.cpp index 5473799289..e859c8a1a4 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -118,7 +118,7 @@ bool fLogIPs = DEFAULT_LOGIPS; std::atomic<bool> fReopenDebugLog(false); CTranslationInterface translationInterface; -/** Log categories bitfield. Leveldb/libevent need special handling if their flags are changed at runtime. */ +/** Log categories bitfield. libevent needs special handling if their flags are changed at runtime. */ std::atomic<uint32_t> logCategories(0); /** Init OpenSSL library multithreading support */ @@ -295,6 +295,21 @@ std::string ListLogCategories() return ret; } +std::vector<CLogCategoryActive> ListActiveLogCategories() +{ + std::vector<CLogCategoryActive> ret; + for (unsigned int i = 0; i < ARRAYLEN(LogCategories); i++) { + // Omit the special cases. + if (LogCategories[i].flag != BCLog::NONE && LogCategories[i].flag != BCLog::ALL) { + CLogCategoryActive catActive; + catActive.category = LogCategories[i].category; + catActive.active = LogAcceptCategory(LogCategories[i].flag); + ret.push_back(catActive); + } + } + return ret; +} + /** * fStartedNewLine is a state variable held by the calling context that will * suppress printing of the timestamp when multiple calls are made that don't |