Skip to content

Commit ed26ea6

Browse files
committed
Update LOG type enum avoiding conflict with Windows macros
1 parent b870fbe commit ed26ea6

File tree

14 files changed

+108
-103
lines changed

14 files changed

+108
-103
lines changed

include/utils/Logger.h

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,21 @@
1717

1818
// stl includes
1919
#ifdef _WIN32
20+
2021
#include <stdexcept>
2122
#endif
2223

2324
#include <utils/global_defines.h>
2425

26+
// ================================================================
27+
2528
#define LOG_MESSAGE(severity, logger, ...) (logger)->Message(severity, __FILE__, __FUNCTION__, __LINE__, __VA_ARGS__)
2629

2730
// standard log messages
28-
#define Debug(logger, ...) LOG_MESSAGE(Logger::DEBUG , logger, __VA_ARGS__)
29-
#define Info(logger, ...) LOG_MESSAGE(Logger::INFO , logger, __VA_ARGS__)
30-
#define Warning(logger, ...) LOG_MESSAGE(Logger::WARNING, logger, __VA_ARGS__)
31-
#define Error(logger, ...) LOG_MESSAGE(Logger::ERRORR , logger, __VA_ARGS__)
31+
#define Debug(logger, ...) LOG_MESSAGE(Logger::LogLevel::LOG_DEBUG , logger, __VA_ARGS__)
32+
#define Info(logger, ...) LOG_MESSAGE(Logger::LogLevel::LOG_INFO , logger, __VA_ARGS__)
33+
#define Warning(logger, ...) LOG_MESSAGE(Logger::LogLevel::LOG_WARNING, logger, __VA_ARGS__)
34+
#define Error(logger, ...) LOG_MESSAGE(Logger::LogLevel::LOG_ERROR , logger, __VA_ARGS__)
3235

3336
// conditional log messages
3437
#define DebugIf(condition, logger, ...) if (condition) Debug(logger, __VA_ARGS__)
@@ -43,13 +46,14 @@ class Logger : public QObject
4346
Q_OBJECT
4447

4548
public:
49+
4650
enum LogLevel {
47-
UNSET = 0,
48-
DEBUG = 1,
49-
INFO = 2,
50-
WARNING = 3,
51-
ERRORR = 4,
52-
OFF = 5
51+
LOG_UNSET = 0,
52+
LOG_DEBUG = 1,
53+
LOG_INFO = 2,
54+
LOG_WARNING = 3,
55+
LOG_ERROR = 4,
56+
LOG_OFF = 5
5357
};
5458

5559
struct T_LOG_MESSAGE
@@ -65,7 +69,7 @@ class Logger : public QObject
6569
QString levelString;
6670
};
6771

68-
static Logger* getInstance(const QString & name = "", const QString & subName = "__", LogLevel minLevel=Logger::INFO);
72+
static Logger* getInstance(const QString & name = "", const QString & subName = "__", LogLevel minLevel= Logger::LogLevel::LOG_INFO);
6973
static void deleteInstance(const QString & name = "", const QString & subName = "__");
7074
static void setLogLevel(LogLevel level, const QString & name = "", const QString & subName = "__");
7175
static LogLevel getLogLevel(const QString & name = "", const QString & subName = "__");
@@ -80,7 +84,7 @@ class Logger : public QObject
8084
void newLogMessage(Logger::T_LOG_MESSAGE);
8185

8286
protected:
83-
Logger(const QString & name="", const QString & subName = "__", LogLevel minLevel = INFO);
87+
Logger(const QString & name="", const QString & subName = "__", LogLevel minLevel = Logger::LogLevel::LOG_INFO);
8488
~Logger() override;
8589

8690
private:
@@ -123,7 +127,7 @@ class LoggerManager : public QObject
123127

124128
public slots:
125129
void handleNewLogMessage(const Logger::T_LOG_MESSAGE&);
126-
QJsonArray getLogMessageBuffer(Logger::LogLevel filter=Logger::UNSET) const;
130+
QJsonArray getLogMessageBuffer(Logger::LogLevel filter= Logger::LogLevel::LOG_UNSET) const;
127131

128132
signals:
129133
void newLogMessage(const Logger::T_LOG_MESSAGE&);

libsrc/leddevice/dev_hid/LedDeviceLightpack.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ bool LedDeviceLightpack::init(const QJsonObject &deviceConfig)
8282
{
8383
Debug(_log, "USB context initialized");
8484

85-
if ( _log->getMinLevel() == Logger::LogLevel::DEBUG )
85+
if ( _log->getMinLevel() == Logger::LogLevel::LOG_DEBUG )
8686
{
8787
int logLevel = LIBUSB_LOG_LEVEL_INFO;
8888
#if LIBUSB_API_VERSION >= 0x01000106

libsrc/utils/Logger.cpp

Lines changed: 62 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -18,33 +18,33 @@
1818

1919

2020
#if (QT_VERSION >= QT_VERSION_CHECK(5, 14, 0))
21-
QRecursiveMutex Logger::MapLock;
21+
QRecursiveMutex Logger::MapLock;
2222
#else
23-
QMutex Logger::MapLock{ QMutex::Recursive };
23+
QMutex Logger::MapLock{ QMutex::Recursive };
2424
#endif
2525

26-
QMap<QString,Logger*> Logger::LoggerMap { };
27-
QAtomicInteger<int> Logger::GLOBAL_MIN_LOG_LEVEL { static_cast<int>(Logger::UNSET)};
26+
QMap<QString, Logger*> Logger::LoggerMap{ };
27+
QAtomicInteger<int> Logger::GLOBAL_MIN_LOG_LEVEL{ static_cast<int>(Logger::LogLevel::LOG_UNSET) };
2828

2929
namespace
3030
{
31-
const char * LogLevelStrings[] = { "", "DEBUG", "INFO", "WARNING", "ERROR", "OFF" };
31+
const char* LogLevelStrings[] = { "", "DEBUG", "INFO", "WARNING", "ERROR", "OFF" };
3232
#ifndef _WIN32
33-
const int LogLevelSysLog[] = { LOG_DEBUG, LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERR };
33+
const int LogLevelSysLog[] = { LOG_DEBUG, LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERR };
3434
#endif
3535

36-
const size_t MAX_IDENTIFICATION_LENGTH = 22;
36+
const size_t MAX_IDENTIFICATION_LENGTH = 22;
3737

38-
QAtomicInteger<unsigned int> LoggerCount = 0;
39-
QAtomicInteger<unsigned int> LoggerId = 0;
38+
QAtomicInteger<unsigned int> LoggerCount = 0;
39+
QAtomicInteger<unsigned int> LoggerId = 0;
4040

41-
const int MAX_LOG_MSG_BUFFERED = 500;
42-
const int MaxRepeatCountSize = 200;
43-
QThreadStorage<int> RepeatCount;
44-
QThreadStorage<Logger::T_LOG_MESSAGE> RepeatMessage;
41+
const int MAX_LOG_MSG_BUFFERED = 500;
42+
const int MaxRepeatCountSize = 200;
43+
QThreadStorage<int> RepeatCount;
44+
QThreadStorage<Logger::T_LOG_MESSAGE> RepeatMessage;
4545
} // namespace
4646

47-
Logger* Logger::getInstance(const QString & name, const QString & subName, Logger::LogLevel minLevel)
47+
Logger* Logger::getInstance(const QString& name, const QString& subName, Logger::LogLevel minLevel)
4848
{
4949
QMutexLocker lock(&MapLock);
5050

@@ -59,26 +59,26 @@ Logger* Logger::getInstance(const QString & name, const QString & subName, Logge
5959
return log;
6060
}
6161

62-
void Logger::deleteInstance(const QString & name, const QString & subName)
62+
void Logger::deleteInstance(const QString& name, const QString& subName)
6363
{
6464
QMutexLocker lock(&MapLock);
6565

6666
if (name.isEmpty())
6767
{
68-
for (auto *logger : std::as_const(LoggerMap)) {
68+
for (auto* logger : std::as_const(LoggerMap)) {
6969
logger->deleteLater();
7070
}
7171

7272
LoggerMap.clear();
7373
}
7474
else
7575
{
76-
LoggerMap.value(name + subName, nullptr)->deleteLater();
76+
LoggerMap.value(name + subName, nullptr)->deleteLater();
7777
LoggerMap.remove(name + subName);
7878
}
7979
}
8080

81-
void Logger::setLogLevel(LogLevel level, const QString & name, const QString & subName)
81+
void Logger::setLogLevel(LogLevel level, const QString& name, const QString& subName)
8282
{
8383
if (name.isEmpty())
8484
{
@@ -91,7 +91,7 @@ void Logger::setLogLevel(LogLevel level, const QString & name, const QString & s
9191
}
9292
}
9393

94-
Logger::LogLevel Logger::getLogLevel(const QString & name, const QString & subName)
94+
Logger::LogLevel Logger::getLogLevel(const QString& name, const QString& subName)
9595
{
9696
if (name.isEmpty())
9797
{
@@ -102,7 +102,7 @@ Logger::LogLevel Logger::getLogLevel(const QString & name, const QString & subNa
102102
return log->getMinLevel();
103103
}
104104

105-
Logger::Logger (const QString & name, const QString & subName, LogLevel minLevel)
105+
Logger::Logger(const QString& name, const QString& subName, LogLevel minLevel)
106106
: QObject()
107107
, _name(name)
108108
, _subName(subName)
@@ -117,7 +117,7 @@ Logger::Logger (const QString & name, const QString & subName, LogLevel minLevel
117117
#ifndef _WIN32
118118
if (_syslogEnabled)
119119
{
120-
openlog (nullptr, LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL0);
120+
openlog(nullptr, LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL0);
121121
}
122122
#endif
123123
}
@@ -136,10 +136,10 @@ Logger::~Logger()
136136
}
137137
}
138138

139-
void Logger::write(const Logger::T_LOG_MESSAGE & message)
139+
void Logger::write(const Logger::T_LOG_MESSAGE& message)
140140
{
141141
QString location;
142-
if (message.level == Logger::DEBUG)
142+
if (message.level == Logger::LogLevel::LOG_DEBUG)
143143
{
144144
location = QString("%1:%2:%3() | ")
145145
.arg(message.fileName)
@@ -151,11 +151,12 @@ void Logger::write(const Logger::T_LOG_MESSAGE & message)
151151
name.resize(MAX_IDENTIFICATION_LENGTH, ' ');
152152

153153
const QDateTime timestamp = QDateTime::fromMSecsSinceEpoch(message.utime);
154-
QString msg = timestamp.toString(Qt::ISODateWithMs)
155-
% " " % name
156-
% " : <" % LogLevelStrings[message.level]
157-
% "> " % location
158-
% message.message % "\n";
154+
QString msg = QString("%1 %2 : <%3> %4%5\n")
155+
.arg(timestamp.toString(Qt::ISODateWithMs))
156+
.arg(name)
157+
.arg(LogLevelStrings[message.level])
158+
.arg(location)
159+
.arg(message.message);
159160

160161
#ifdef _WIN32
161162
if (IsDebuggerPresent())
@@ -164,49 +165,49 @@ void Logger::write(const Logger::T_LOG_MESSAGE & message)
164165
}
165166
else
166167
#endif
167-
std::cout << msg.toStdString();
168+
std::cout << msg.toStdString();
168169

169170
emit newLogMessage(message);
170171
}
171172

172173
void Logger::Message(LogLevel level, const char* sourceFile, const char* func, unsigned int line, const char* fmt, ...)
173174
{
174-
Logger::LogLevel globalLevel = static_cast<Logger::LogLevel>(int(GLOBAL_MIN_LOG_LEVEL));
175+
LogLevel globalLevel = LogLevel(int(GLOBAL_MIN_LOG_LEVEL));
175176

176-
if ( (globalLevel == Logger::UNSET && level < _minLevel) // no global level, use level from logger
177-
|| (globalLevel > Logger::UNSET && level < globalLevel) ) // global level set, use global level
177+
if ((globalLevel == Logger::LogLevel::LOG_UNSET && level < _minLevel) // no global level, use level from logger
178+
|| (globalLevel > LogLevel::LOG_UNSET && level < globalLevel)) // global level set, use global level
178179
{
179180
return;
180181
}
181182

182183
const size_t max_msg_length = 1024;
183184
char msg[max_msg_length];
184185
va_list args;
185-
va_start (args, fmt);
186-
vsnprintf (msg, max_msg_length, fmt, args);
187-
va_end (args);
186+
va_start(args, fmt);
187+
vsnprintf(msg, max_msg_length, fmt, args);
188+
va_end(args);
188189

189190
const auto repeatedSummary = [&]
190-
{
191-
Logger::T_LOG_MESSAGE repMsg = RepeatMessage.localData();
192-
repMsg.message = "Previous line repeats " + QString::number(RepeatCount.localData()) + " times";
193-
repMsg.utime = QDateTime::currentMSecsSinceEpoch();
191+
{
192+
Logger::T_LOG_MESSAGE repMsg = RepeatMessage.localData();
193+
repMsg.message = "Previous line repeats " + QString::number(RepeatCount.localData()) + " times";
194+
repMsg.utime = QDateTime::currentMSecsSinceEpoch();
194195

195-
write(repMsg);
196+
write(repMsg);
196197
#ifndef _WIN32
197-
if ( _syslogEnabled && repMsg.level >= Logger::WARNING )
198-
{
199-
syslog (LogLevelSysLog[repMsg.level], "Previous line repeats %d times", RepeatCount.localData());
200-
}
198+
if (_syslogEnabled && repMsg.level >= Logger::WARNING)
199+
{
200+
syslog(LogLevelSysLog[repMsg.level], "Previous line repeats %d times", RepeatCount.localData());
201+
}
201202
#endif
202203

203-
RepeatCount.setLocalData(0);
204-
};
204+
RepeatCount.setLocalData(0);
205+
};
205206

206-
if (RepeatMessage.localData().loggerName == _name &&
207-
RepeatMessage.localData().loggerSubName == _subName &&
207+
if (RepeatMessage.localData().loggerName == _name &&
208+
RepeatMessage.localData().loggerSubName == _subName &&
208209
RepeatMessage.localData().function == func &&
209-
RepeatMessage.localData().message == msg &&
210+
RepeatMessage.localData().message == msg &&
210211
RepeatMessage.localData().line == line)
211212
{
212213
if (RepeatCount.localData() >= MaxRepeatCountSize)
@@ -227,21 +228,21 @@ void Logger::Message(LogLevel level, const char* sourceFile, const char* func, u
227228

228229
Logger::T_LOG_MESSAGE logMsg;
229230

230-
logMsg.loggerName = _name;
231-
logMsg.loggerSubName = _subName;
232-
logMsg.function = QString(func);
233-
logMsg.line = line;
234-
logMsg.fileName = FileUtils::getBaseName(sourceFile);
235-
logMsg.utime = QDateTime::currentMSecsSinceEpoch();
236-
logMsg.message = QString(msg);
237-
logMsg.level = level;
231+
logMsg.loggerName = _name;
232+
logMsg.loggerSubName = _subName;
233+
logMsg.function = QString(func);
234+
logMsg.line = line;
235+
logMsg.fileName = FileUtils::getBaseName(sourceFile);
236+
logMsg.utime = QDateTime::currentMSecsSinceEpoch();
237+
logMsg.message = QString(msg);
238+
logMsg.level = level;
238239
logMsg.levelString = LogLevelStrings[level];
239240

240241
write(logMsg);
241242
#ifndef _WIN32
242-
if ( _syslogEnabled && level >= Logger::WARNING )
243+
if (_syslogEnabled && level >= Logger::WARNING)
243244
{
244-
syslog (LogLevelSysLog[level], "%s", msg);
245+
syslog(LogLevelSysLog[level], "%s", msg);
245246
}
246247
#endif
247248
RepeatMessage.setLocalData(logMsg);
@@ -269,7 +270,7 @@ QJsonArray LoggerManager::getLogMessageBuffer(Logger::LogLevel filter) const
269270
{
270271
QJsonArray messageArray;
271272
{
272-
for (const auto &logLine : std::as_const(_logMessageBuffer))
273+
for (const auto& logLine : std::as_const(_logMessageBuffer))
273274
{
274275
if (logLine.level >= filter)
275276
{
@@ -290,7 +291,7 @@ QJsonArray LoggerManager::getLogMessageBuffer(Logger::LogLevel filter) const
290291
return messageArray;
291292
}
292293

293-
void LoggerManager::handleNewLogMessage(const Logger::T_LOG_MESSAGE & msg)
294+
void LoggerManager::handleNewLogMessage(const Logger::T_LOG_MESSAGE& msg)
294295
{
295296
_logMessageBuffer.push_back(msg);
296297
if (_logMessageBuffer.length() > _loggerMaxMsgBufferSize)

src/hyperion-aml/hyperion-aml.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ int main(int argc, char ** argv)
4646
ErrorManager errorManager;
4747

4848
Logger *log = Logger::getInstance(CAPTURE_TYPE.toUpper());
49-
Logger::setLogLevel(Logger::INFO);
49+
Logger::setLogLevel(Logger::LOG_INFO);
5050

5151
QCoreApplication const app(argc, argv);
5252

@@ -92,7 +92,7 @@ int main(int argc, char ** argv)
9292
// check if debug logging is required
9393
if (parser.isSet(argDebug))
9494
{
95-
Logger::setLogLevel(Logger::DEBUG);
95+
Logger::setLogLevel(Logger::LOG_DEBUG);
9696
}
9797

9898
// check if we need to display the usage. exit if we do.

src/hyperion-dispmanx/hyperion-dispmanx.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ int main(int argc, char ** argv)
4848
ErrorManager errorManager;
4949

5050
Logger *log = Logger::getInstance(CAPTURE_TYPE.toUpper());
51-
Logger::setLogLevel(Logger::INFO);
51+
Logger::setLogLevel(Logger::LOG_INFO);
5252

5353
QCoreApplication const app(argc, argv);
5454

@@ -94,7 +94,7 @@ int main(int argc, char ** argv)
9494
// check if debug logging is required
9595
if (parser.isSet(argDebug))
9696
{
97-
Logger::setLogLevel(Logger::DEBUG);
97+
Logger::setLogLevel(Logger::LOG_DEBUG);
9898
}
9999

100100

src/hyperion-framebuffer/hyperion-framebuffer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ int main(int argc, char ** argv)
4747
ErrorManager errorManager;
4848

4949
Logger *log = Logger::getInstance(CAPTURE_TYPE.toUpper());
50-
Logger::setLogLevel(Logger::INFO);
50+
Logger::setLogLevel(Logger::LOG_INFO);
5151

5252
QCoreApplication const app(argc, argv);
5353

@@ -95,7 +95,7 @@ int main(int argc, char ** argv)
9595
// check if debug logging is required
9696
if (parser.isSet(argDebug))
9797
{
98-
Logger::setLogLevel(Logger::DEBUG);
98+
Logger::setLogLevel(Logger::LOG_DEBUG);
9999
}
100100

101101
// check if we need to display the usage. exit if we do.

0 commit comments

Comments
 (0)