MCPcopy Create free account
hub / github.com/OpenLoco/OpenLoco / parseLogLevels

Function parseLogLevels

src/OpenLoco/src/Logging.cpp:65–95  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

63 }
64
65 static LevelMask parseLogLevels(std::string_view logLevels)
66 {
67 LevelMask res{};
68
69 const auto addLogLevel = [&res](std::string_view level) {
70 bool removeMask = false;
71 if (level.substr(0, 1) == "-")
72 {
73 removeMask = true;
74 level = level.substr(1);
75 }
76
77 const auto levelMask = Logging::getLevelMaskFromName(level);
78 if (removeMask)
79 {
80 res &= ~levelMask;
81 }
82 else
83 {
84 res |= levelMask;
85 }
86 };
87
88 const auto levels = Utility::split(logLevels, ",");
89 for (const auto level : levels)
90 {
91 addLogLevel(Utility::trim(level));
92 }
93
94 return res;
95 }
96
97 void initialize(std::string_view logLevels)
98 {

Callers 1

initializeFunction · 0.85

Calls 3

getLevelMaskFromNameFunction · 0.85
splitFunction · 0.85
trimFunction · 0.85

Tested by

no test coverage detected