Go to the documentation of this file.
7 #define LOGGING_ENABLED
41 #define LASTERROR(msg, ...) Base::LastError::Instance().setError(__FUNCTION__, msg, __VA_ARGS__)
42 #define CLEARLASTERROR() Base::LastError::Instance().setError("", "")
111 Stream(QIODevice* device) : ts(device), ref(1), type(QtDebugMsg), space(
true), message_output(
false) {}
112 Stream(QString*
string) : ts(
string, QIODevice::WriteOnly), ref(1), type(QtDebugMsg), space(
true), message_output(
false) {}
113 Stream(QtMsgType t) : ts(&buffer, QIODevice::WriteOnly), ref(1), type(t), space(
true), message_output(
true) {}
123 #if QT_VERSION >= 0x050000
124 QMessageLogContext context;
129 LogClass(QIODevice* device) : stream(new Stream(device)) {}
130 LogClass(QString*
string) : stream(new Stream(string)) {}
137 stream->
space =
true;
143 stream->
space =
false;
155 stream->ts <<
"\'" << t <<
"\'";
160 stream->ts << (bool(t) ?
"true" :
"false");
200 stream->ts << QString::number(t);
205 stream->ts << QString::number(t);
220 stream->ts << qPrintable(t);
231 stream->ts << t.latin1();
259 #ifdef LOGGING_ENABLED
266 #define LOGCOMMAND_DEBUG(x) Base::ScopedLogger _____scopedLogger(Base::D_DEBUG, x);
267 #define LOGCOMMAND_INFO(x) Base::ScopedLogger _____scopedLogger(Base::D_INFO, x);
268 #define LOGCOMMAND(x) Base::ScopedLogger _____scopedLogger(Base::D_WARN, x);
269 #define LOGCOMMAND_WARN(x) Base::ScopedLogger _____scopedLogger(Base::D_WARN, x);
270 #define cUserDebug(...) \
271 if (Base::Settings::getInstance()->getDebugUser()) \
273 cWarn(__VA_ARGS__); \
275 #define LOGVAR(var) cDebug() << QString("%1 = %2").arg(#var).arg(var);
287 void setCallBack(std::function<
bool(std::string)> f) { mCallback = f; }
296 std::function<bool(std::string)> mCallback;
306 static void log(
const char* format, ...);
307 static void log(QString s);
311 Logger(QString path) : logFilePath(path) {}
324 #define myLog(a) Logger::instance().writeToLog(a);
325 #define myLogAtFinish(a) ScopedLog(a);
331 #ifdef LOGGING_ENABLED
333 #define cAssert(condition, message) \
338 std::stringstream ss; \
339 ss << "Assertion: `" #condition << "` --> '" << message << "' failed in \n" << __FILE__ << ":" << __LINE__ << "\n"; \
340 std::cerr << ss.str(); \
341 if (Base::AssertSingleton::getInstance().callCallBack(ss.str())) \
368 LX_CORE_EXPORT
void noDebug(
const char*, ...);
369 LX_CORE_EXPORT
void noDebug(
const QString&);
371 #define cAssert(condition, message) \
LogClass & operator<<(QChar t)
Definition: Log.h:153
virtual ~LogBaseClass()=default
NoDebugClass & quote()
Definition: Log.h:95
ScopedLogger(LOGLEVEL level, const std::string &s)
LogClass(const LogClass &o)
Definition: Log.h:132
LogClass & operator<<(unsigned short t)
Definition: Log.h:173
LogClass & maybeSpace()
Definition: Log.h:146
virtual LogBaseClass & operator<<(qint64 t)=0
LogClass & operator<<(const QByteArray &t)
Definition: Log.h:234
virtual LogBaseClass & operator<<(signed long t)=0
virtual LogBaseClass & operator<<(QChar t)=0
QString m_msg
Definition: Log.h:321
virtual LogBaseClass & operator<<(bool t)=0
LogClass & operator<<(signed int t)
Definition: Log.h:178
virtual LogBaseClass & operator<<(const char *t)=0
virtual LogBaseClass & operator<<(signed int t)=0
LX_BASE_EXPORT LOGLEVEL getLogLevel()
@ D_OFF
Definition: Log.h:13
std::string getErrorMsg()
LogClass(QString *string)
Definition: Log.h:130
virtual LogBaseClass & operator<<(char t)=0
LogClass & operator<<(signed long t)
Definition: Log.h:188
LogClass & operator<<(float t)
Definition: Log.h:208
LX_BASE_EXPORT Base::LogClass cWarn()
LastError & setError(std::string &where, std::string &msg)
LogClass & operator<<(const void *t)
Definition: Log.h:239
LogClass & operator<<(char t)
Definition: Log.h:163
ScopedLog(QString a)
Definition: Log.h:319
LX_BASE_EXPORT LogClass Log(Base::LOGLEVEL level)
~ScopedLog()
Definition: Log.h:320
LogClass & operator<<(QTextStreamManipulator m)
Definition: Log.h:250
LX_BASE_EXPORT Base::LogClass cError()
LX_BASE_EXPORT Base::LogClass cDebug()
NoDebugClass & operator<<(const T &)
Definition: Log.h:100
ScopedLoggerP * _piml
Definition: Log.h:52
virtual LogBaseClass & operator<<(const QByteArray &t)=0
LogClass & operator<<(quint64 t)
Definition: Log.h:203
NoDebugClass & nospace()
Definition: Log.h:93
@ D_WARN
Definition: Log.h:16
static AssertSingleton & getInstance()
Definition: Log.h:280
LOGLEVEL
Definition: Log.h:12
virtual LogBaseClass & operator<<(unsigned long t)=0
static void log(QString s)
LogClass & space()
Definition: Log.h:135
LogClass & operator<<(unsigned long t)
Definition: Log.h:193
NoDebugClass & maybeSpace()
Definition: Log.h:94
static bool is_activated
Definition: Log.h:256
virtual LogBaseClass & operator<<(const void *t)=0
@ D_FATAL
Definition: Log.h:14
virtual LogBaseClass & operator<<(unsigned int t)=0
virtual LogBaseClass & operator<<(float t)=0
virtual LogBaseClass & operator<<(double t)=0
virtual LogBaseClass & operator<<(const QStringRef &t)=0
NoDebugClass & space()
Definition: Log.h:92
LastError & setError(const char *where, const char *msg,...)
virtual LogBaseClass & operator<<(QTextStreamFunction f)=0
LogClass & operator<<(unsigned int t)
Definition: Log.h:183
virtual LogBaseClass & nospace()=0
virtual LogBaseClass & operator<<(unsigned short t)=0
LX_BASE_EXPORT void setLogLevel(LOGLEVEL)
LX_BASE_EXPORT void cDebuggerBreak(const char *message)
@ D_ERROR
Definition: Log.h:15
static LastError & Instance()
LogClass & operator<<(QTextStreamFunction f)
Definition: Log.h:244
virtual LogBaseClass & space()=0
LogClass(LOGLEVEL level, QtMsgType t)
Definition: Log.h:131
LastError & append(std::string &msg)
virtual LogBaseClass & operator<<(const QString &t)=0
NoDebugClass & operator<<(QTextStreamFunction)
Definition: Log.h:90
LogClass & operator<<(double t)
Definition: Log.h:213
LogClass & operator<<(const QLatin1String &t)
Definition: Log.h:229
NoDebugClass & operator<<(QTextStreamManipulator)
Definition: Log.h:91
LogClass & nospace()
Definition: Log.h:141
static Logger & instance()
@ D_INFO
Definition: Log.h:17
NoDebugClass & maybeQuote(const char='"')
Definition: Log.h:97
LX_BASE_EXPORT Base::LogClass cInfo()
bool callCallBack(std::string s)
Definition: Log.h:288
static void log(const char *format,...)
void setCallBack(std::function< bool(std::string)> f)
Definition: Log.h:287
virtual LogBaseClass & operator<<(const QLatin1String &t)=0
LogClass & operator<<(const QString &t)
Definition: Log.h:223
@ D_ALL
Definition: Log.h:19
virtual LogBaseClass & operator<<(QTextStreamManipulator m)=0
virtual LogBaseClass & operator<<(quint64 t)=0
NoDebugClass & noquote()
Definition: Log.h:96
@ D_DEBUG
Definition: Log.h:18
LogClass & operator<<(const QStringRef &t)
Definition: Log.h:228
void LogV(LOGLEVEL level, const QString &s, va_list ap)
virtual LogBaseClass & maybeSpace()=0
LogClass & operator<<(qint64 t)
Definition: Log.h:198
LogClass & operator<<(bool t)
Definition: Log.h:158
LogClass & operator<<(signed short t)
Definition: Log.h:168
Definition: AbstractXMLReader.h:5
virtual LogBaseClass & operator<<(signed short t)=0
LogClass(QIODevice *device)
Definition: Log.h:129
LogClass & operator<<(const char *t)
Definition: Log.h:218