Skip to content

Commit f6c0cc0

Browse files
committed
Add BCLog::Logger::m_category_log_levels data member and getter/setter
Co-authored-by: "klementtan <[email protected]>"
1 parent 2978b38 commit f6c0cc0

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

src/logging.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include <list>
1818
#include <mutex>
1919
#include <string>
20+
#include <unordered_map>
2021
#include <vector>
2122

2223
static const bool DEFAULT_LOGTIMEMICROS = false;
@@ -92,6 +93,9 @@ namespace BCLog {
9293
*/
9394
std::atomic_bool m_started_new_line{true};
9495

96+
//! Category-specific log level. Overrides `m_log_level`.
97+
std::unordered_map<LogFlags, Level> m_category_log_levels GUARDED_BY(m_cs);
98+
9599
//! If there is no category-specific log level, all logs with a severity
96100
//! level lower than `m_log_level` will be ignored.
97101
std::atomic<Level> m_log_level{DEFAULT_LOG_LEVEL};
@@ -148,6 +152,17 @@ namespace BCLog {
148152

149153
void ShrinkDebugFile();
150154

155+
std::unordered_map<LogFlags, Level> CategoryLevels() const
156+
{
157+
StdLockGuard scoped_lock(m_cs);
158+
return m_category_log_levels;
159+
}
160+
void SetCategoryLogLevel(const std::unordered_map<LogFlags, Level>& levels)
161+
{
162+
StdLockGuard scoped_lock(m_cs);
163+
m_category_log_levels = levels;
164+
}
165+
151166
Level LogLevel() const { return m_log_level.load(); }
152167
void SetLogLevel(Level level) { m_log_level = level; }
153168

0 commit comments

Comments
 (0)