87 const QMessageLogContext &context,
96 case QtDebugMsg: msgLevel = 0;
break;
97 case QtInfoMsg: msgLevel = 1;
break;
98 case QtWarningMsg: msgLevel = 2;
break;
99 case QtCriticalMsg: msgLevel = 3;
break;
100 case QtFatalMsg: msgLevel = 4;
break;
101 default: msgLevel = 0;
break;
105 if (msgLevel < MNE_LOG_LEVEL)
109 std::string text = msg.toStdString();
111 std::lock_guard<std::mutex> lock(m_mutex);
113#ifdef MNE_LOG_MODE_FORMATTED
114 static bool s_startOfLine =
true;
118 const char* level =
"";
120 case QtDebugMsg: color =
COLOR_DEBUG; level =
"[DEBUG] ";
break;
121 case QtInfoMsg: color =
COLOR_INFO; level =
"[INFO] ";
break;
122 case QtWarningMsg: color =
COLOR_WARN; level =
"[WARN] ";
break;
123 case QtCriticalMsg: color =
COLOR_CRITICAL; level =
"[CRIT] ";
break;
124 case QtFatalMsg: color =
COLOR_FATAL; level =
"[FATAL] ";
break;
125 default: level =
"";
break;
130 std::string sDateTime;
132 std::string prefix = std::string(color) + sDateTime + level +
COLOR_RESET;
136 for (
size_t i = 0; i < text.size(); ++i) {
137 if (s_startOfLine && text[i] !=
'\n') {
139 s_startOfLine =
false;
141 std::cout << text[i];
142 if (text[i] ==
'\n') {
143 s_startOfLine =
true;
147 if (text.empty() || text.back() !=
'\n') {
149 s_startOfLine =
true;
154 if (text.empty() || text.back() !=
'\n') {