Skip to content

Commit 1876c99

Browse files
committed
Add new FairLogger severity (critical) to DPL and DebugGUI
1 parent 84ba04a commit 1876c99

File tree

6 files changed

+40
-2
lines changed

6 files changed

+40
-2
lines changed

Framework/Core/include/Framework/LogParsingHelpers.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,11 @@ struct LogParsingHelpers {
2323
enum struct LogLevel {
2424
Debug,
2525
Info,
26+
Important,
2627
Warning,
2728
Alarm,
2829
Error,
30+
Critical,
2931
Fatal,
3032
Unknown,
3133
Size

Framework/Core/src/LogParsingHelpers.cxx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@ namespace o2::framework
1717
char const* const LogParsingHelpers::LOG_LEVELS[(int)LogParsingHelpers::LogLevel::Size] = {
1818
"DEBUG",
1919
"INFO",
20+
"IMPORTANT",
2021
"WARNING",
2122
"ALARM",
2223
"ERROR",
24+
"CRITICAL",
2325
"FATAL",
2426
"UNKNOWN"};
2527
using LogLevel = o2::framework::LogParsingHelpers::LogLevel;
@@ -59,12 +61,16 @@ LogLevel LogParsingHelpers::parseTokenLevel(std::string_view const s)
5961
} else if (s.compare(LABELPOS, 7, "[INFO] ") == 0 ||
6062
s.compare(LABELPOS, 8, "[STATE] ") == 0) {
6163
return LogLevel::Info;
64+
} else if (s.compare(LABELPOS, 12, "[IMPORTANT] ") == 0) {
65+
return LogLevel::Important;
6266
} else if (s.compare(LABELPOS, 7, "[WARN] ") == 0) {
6367
return LogLevel::Warning;
6468
} else if (s.compare(LABELPOS, 8, "[ALARM] ") == 0) {
6569
return LogLevel::Alarm;
6670
} else if (s.compare(LABELPOS, 8, "[ERROR] ") == 0) {
6771
return LogLevel::Error;
72+
} else if (s.compare(LABELPOS, 11, "[CRITICAL] ") == 0) {
73+
return LogLevel::Critical;
6874
} else if (s.compare(LABELPOS, 8, "[FATAL] ") == 0) {
6975
return LogLevel::Fatal;
7076
}

Framework/Core/src/runDataProcessing.cxx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2141,6 +2141,8 @@ int runStateMachine(DataProcessorSpecs const& workflow,
21412141
info.logLevel = LogParsingHelpers::LogLevel::Info;
21422142
} else if ((*logLevelIt).compare("alarm") == 0) {
21432143
info.logLevel = LogParsingHelpers::LogLevel::Alarm;
2144+
} else if ((*logLevelIt).compare("critical") == 0) {
2145+
info.logLevel = LogParsingHelpers::LogLevel::Critical;
21442146
} else if ((*logLevelIt).compare("fatal") == 0) {
21452147
info.logLevel = LogParsingHelpers::LogLevel::Fatal;
21462148
}
@@ -3159,6 +3161,8 @@ int doMain(int argc, char** argv, o2::framework::WorkflowSpec const& workflow,
31593161
fair::Logger::SetConsoleSeverity(fair::Severity::important);
31603162
} else if (logLevel == "alarm") {
31613163
fair::Logger::SetConsoleSeverity(fair::Severity::alarm);
3164+
} else if (logLevel == "critical") {
3165+
fair::Logger::SetConsoleSeverity(fair::Severity::critical);
31623166
} else if (logLevel == "fatal") {
31633167
fair::Logger::SetConsoleSeverity(fair::Severity::fatal);
31643168
} else {

Framework/DataTakingSupport/src/Plugin.cxx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ auto createInfoLoggerSinkHelper(InfoLogger* logger, InfoLoggerContext* ctx)
7272
severity = InfoLogger::Severity::Fatal;
7373
level = 1;
7474
break;
75+
case fair::Severity::critical:
76+
severity = InfoLogger::Severity::Error;
77+
level = 1;
78+
break;
7579
case fair::Severity::error:
7680
severity = InfoLogger::Severity::Error;
7781
level = 2;
@@ -132,8 +136,8 @@ auto createInfoLoggerSinkHelper(InfoLogger* logger, InfoLoggerContext* ctx)
132136
severity,
133137
level,
134138
InfoLogger::undefinedMessageOption.errorCode,
135-
metadata.file.data(),
136-
atoi(metadata.line.data())};
139+
metadata.file,
140+
atoi(std::string(metadata.line.data(), metadata.line.size()).c_str())};
137141

138142
if (logger) {
139143
logger->log(opt, *ctx, "%s", content.c_str());

Framework/GUISupport/src/FrameworkGUIDebugger.cxx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ ImVec4 colorForLogLevel(LogParsingHelpers::LogLevel logLevel)
6969
switch (logLevel) {
7070
case LogParsingHelpers::LogLevel::Info:
7171
return PaletteHelpers::GREEN;
72+
case LogParsingHelpers::LogLevel::Important:
73+
return PaletteHelpers::GREEN;
7274
case LogParsingHelpers::LogLevel::Debug:
7375
return PaletteHelpers::WHITE;
7476
case LogParsingHelpers::LogLevel::Alarm:
@@ -77,6 +79,8 @@ ImVec4 colorForLogLevel(LogParsingHelpers::LogLevel logLevel)
7779
return PaletteHelpers::DARK_YELLOW;
7880
case LogParsingHelpers::LogLevel::Error:
7981
return PaletteHelpers::RED;
82+
case LogParsingHelpers::LogLevel::Critical:
83+
return PaletteHelpers::RED;
8084
case LogParsingHelpers::LogLevel::Fatal:
8185
return PaletteHelpers::RED;
8286
case LogParsingHelpers::LogLevel::Unknown:
@@ -977,11 +981,21 @@ void pushWindowColorDueToStatus(const DeviceInfo& info)
977981
return;
978982
}
979983
switch (info.maxLogLevel) {
984+
case LogLevel::Critical:
985+
ImGui::PushStyleColor(ImGuiCol_TitleBg, PaletteHelpers::SHADED_RED);
986+
ImGui::PushStyleColor(ImGuiCol_TitleBgActive, PaletteHelpers::RED);
987+
ImGui::PushStyleColor(ImGuiCol_TitleBgCollapsed, PaletteHelpers::SHADED_RED);
988+
break;
980989
case LogLevel::Error:
981990
ImGui::PushStyleColor(ImGuiCol_TitleBg, PaletteHelpers::SHADED_RED);
982991
ImGui::PushStyleColor(ImGuiCol_TitleBgActive, PaletteHelpers::RED);
983992
ImGui::PushStyleColor(ImGuiCol_TitleBgCollapsed, PaletteHelpers::SHADED_RED);
984993
break;
994+
case LogLevel::Alarm:
995+
ImGui::PushStyleColor(ImGuiCol_TitleBg, PaletteHelpers::SHADED_YELLOW);
996+
ImGui::PushStyleColor(ImGuiCol_TitleBgActive, PaletteHelpers::YELLOW);
997+
ImGui::PushStyleColor(ImGuiCol_TitleBgCollapsed, PaletteHelpers::SHADED_YELLOW);
998+
break;
985999
case LogLevel::Warning:
9861000
ImGui::PushStyleColor(ImGuiCol_TitleBg, PaletteHelpers::SHADED_YELLOW);
9871001
ImGui::PushStyleColor(ImGuiCol_TitleBgActive, PaletteHelpers::YELLOW);

Framework/GUISupport/src/FrameworkGUIDevicesGraph.cxx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -694,10 +694,18 @@ void showTopologyNodeGraph(WorkspaceGUIState& state,
694694
ImGui::BeginGroup(); // Lock horizontal position
695695
ImGui::TextUnformatted(node->Name);
696696
switch (info.maxLogLevel) {
697+
case LogLevel::Critical:
698+
ImGui::SameLine();
699+
ImGui::TextColored(ERROR_MESSAGE_COLOR, "%s", ICON_FA_EXCLAMATION_CIRCLE);
700+
break;
697701
case LogLevel::Error:
698702
ImGui::SameLine();
699703
ImGui::TextColored(ERROR_MESSAGE_COLOR, "%s", ICON_FA_EXCLAMATION_CIRCLE);
700704
break;
705+
case LogLevel::Alarm:
706+
ImGui::SameLine();
707+
ImGui::TextColored(WARNING_MESSAGE_COLOR, "%s", ICON_FA_EXCLAMATION_TRIANGLE);
708+
break;
701709
case LogLevel::Warning:
702710
ImGui::SameLine();
703711
ImGui::TextColored(WARNING_MESSAGE_COLOR, "%s", ICON_FA_EXCLAMATION_TRIANGLE);

0 commit comments

Comments
 (0)