21 #include <quentier/utility/Linkage.h> 24 #include <QRegularExpression> 26 #include <QTextStream> 43 QUENTIER_EXPORT QDebug & operator<<(QDebug & dbg, LogLevel logLevel);
45 QUENTIER_EXPORT QTextStream & operator<<(QTextStream & strm, LogLevel logLevel);
54 void QUENTIER_EXPORT QuentierInitializeLogging();
59 void QUENTIER_EXPORT QuentierAddLogEntry(
60 const QString & sourceFileName,
int sourceFileLineNumber,
61 const QString & component,
const QString & message, LogLevel logLevel);
68 LogLevel QUENTIER_EXPORT QuentierMinLogLevel();
73 void QUENTIER_EXPORT QuentierSetMinLogLevel(LogLevel logLevel);
79 void QUENTIER_EXPORT QuentierAddStdOutLogDestination();
85 [[nodiscard]]
bool QUENTIER_EXPORT QuentierIsLogLevelActive(LogLevel logLevel);
90 [[nodiscard]] QString QUENTIER_EXPORT QuentierLogFilesDirPath();
95 void QUENTIER_EXPORT QuentierRestartLogging();
100 [[nodiscard]] QRegularExpression QUENTIER_EXPORT QuentierLogComponentFilter();
106 QuentierSetLogComponentFilter(
const QRegularExpression & filter);
110 #define QNLOG_PRIVATE_BASE(component, message, level) \ 111 if (quentier::QuentierIsLogLevelActive(quentier::LogLevel::level)) { \ 117 quentier::QuentierAddLogEntry( \ 118 QStringLiteral(__FILE__), __LINE__, QString::fromUtf8(component), \ 119 msg, quentier::LogLevel::level); \ 121 // QNLOG_PRIVATE_BASE 123 #define QNTRACE(component, message) \ 124 QNLOG_PRIVATE_BASE(component, message, Trace) \ 127 #define QNDEBUG(component, message) \ 128 QNLOG_PRIVATE_BASE(component, message, Debug) \ 131 #define QNINFO(component, message) \ 132 QNLOG_PRIVATE_BASE(component, message, Info) \ 135 #define QNWARNING(component, message) \ 136 QNLOG_PRIVATE_BASE(component, message, Warning) \ 139 #define QNERROR(component, message) \ 140 QNLOG_PRIVATE_BASE(component, message, Error) \ 143 #define QUENTIER_SET_MIN_LOG_LEVEL(level) \ 144 quentier::QuentierSetMinLogLevel(quentier::LogLevel::level) 147 #define QUENTIER_INITIALIZE_LOGGING() quentier::QuentierInitializeLogging() 151 #define QUENTIER_ADD_STDOUT_LOG_DESTINATION() \ 152 quentier::QuentierAddStdOutLogDestination() \ 153 // QUENTIER_ADD_STDOUT_LOG_DESTINATION 156 #define QNLOG_FILE_LINENUMBER_DELIMITER ":"