19 #ifndef LIB_QUENTIER_LOGGING_QUENTIER_LOGGER_H 20 #define LIB_QUENTIER_LOGGING_QUENTIER_LOGGER_H 22 #include <quentier/utility/Linkage.h> 23 #include <quentier/utility/Macros.h> 39 QUENTIER_EXPORT QDebug & operator<<(QDebug & dbg,
const LogLevel logLevel);
41 void QUENTIER_EXPORT QuentierInitializeLogging();
43 void QUENTIER_EXPORT QuentierAddLogEntry(
44 const QString & sourceFileName,
45 const int sourceFileLineNumber,
46 const QString & message,
47 const LogLevel logLevel);
49 LogLevel QUENTIER_EXPORT QuentierMinLogLevel();
51 void QUENTIER_EXPORT QuentierSetMinLogLevel(
const LogLevel logLevel);
53 void QUENTIER_EXPORT QuentierAddStdOutLogDestination();
55 bool QUENTIER_EXPORT QuentierIsLogLevelActive(
const LogLevel logLevel);
57 QString QUENTIER_EXPORT QuentierLogFilesDirPath();
59 void QUENTIER_EXPORT QuentierRestartLogging();
63 #define __QNLOG_QDEBUG_HELPER() \ 66 // __QNLOG_QDEBUG_HELPER 68 #define __QNLOG_BASE(message, level) \ 69 if (quentier::QuentierIsLogLevelActive(quentier::LogLevel::level)) \ 73 __QNLOG_QDEBUG_HELPER(); \ 75 quentier::QuentierAddLogEntry( \ 76 QStringLiteral(__FILE__), \ 78 quentier::LogLevel::level); \ 82 #define QNTRACE(message) \ 83 __QNLOG_BASE(message, Trace) \ 86 #define QNDEBUG(message) \ 87 __QNLOG_BASE(message, Debug) \ 90 #define QNINFO(message) \ 91 __QNLOG_BASE(message, Info) \ 94 #define QNWARNING(message) \ 95 __QNLOG_BASE(message, Warning) \ 98 #define QNERROR(message) \ 99 __QNLOG_BASE(message, Error) \ 102 #define QUENTIER_SET_MIN_LOG_LEVEL(level) \ 103 quentier::QuentierSetMinLogLevel(quentier::LogLevel::level) \ 104 // QUENTIER_SET_MIN_LOG_LEVEL 106 #define QUENTIER_INITIALIZE_LOGGING() \ 107 quentier::QuentierInitializeLogging() \ 108 // QUENTIER_INITIALIZE_LOGGING 110 #define QUENTIER_ADD_STDOUT_LOG_DESTINATION() \ 111 quentier::QuentierAddStdOutLogDestination() \ 112 // QUENTIER_ADD_STDOUT_LOG_DESTINATION 114 #define QNLOG_FILE_LINENUMBER_DELIMITER ":" 116 #endif // LIB_QUENTIER_LOGGING_QUENTIER_LOGGER_H