19 #ifndef LIB_QUENTIER_LOGGING_QUENTIER_LOGGER_H 20 #define LIB_QUENTIER_LOGGING_QUENTIER_LOGGER_H 22 #include <quentier/utility/Linkage.h> 25 #include <QRegularExpression> 27 #include <QTextStream> 44 QUENTIER_EXPORT QDebug & operator<<(QDebug & dbg,
const LogLevel logLevel);
46 QUENTIER_EXPORT QTextStream & operator<<(
47 QTextStream & strm,
const LogLevel logLevel);
56 void QUENTIER_EXPORT QuentierInitializeLogging();
61 void QUENTIER_EXPORT QuentierAddLogEntry(
62 const QString & sourceFileName,
const int sourceFileLineNumber,
63 const QString & component,
const QString & message,
64 const LogLevel logLevel);
71 LogLevel QUENTIER_EXPORT QuentierMinLogLevel();
76 void QUENTIER_EXPORT QuentierSetMinLogLevel(
const LogLevel logLevel);
82 void QUENTIER_EXPORT QuentierAddStdOutLogDestination();
88 bool QUENTIER_EXPORT QuentierIsLogLevelActive(
const LogLevel logLevel);
93 QString QUENTIER_EXPORT QuentierLogFilesDirPath();
98 void QUENTIER_EXPORT QuentierRestartLogging();
103 QRegularExpression QUENTIER_EXPORT QuentierLogComponentFilter();
109 QuentierSetLogComponentFilter(
const QRegularExpression & filter);
113 #define __QNLOG_BASE(component, message, level) \ 114 if (quentier::QuentierIsLogLevelActive(quentier::LogLevel::level)) { \ 120 quentier::QuentierAddLogEntry( \ 121 QStringLiteral(__FILE__), __LINE__, QString::fromUtf8(component), \ 122 msg, quentier::LogLevel::level); \ 126 #define QNTRACE(component, message) \ 127 __QNLOG_BASE(component, message, Trace) \ 130 #define QNDEBUG(component, message) \ 131 __QNLOG_BASE(component, message, Debug) \ 134 #define QNINFO(component, message) \ 135 __QNLOG_BASE(component, message, Info) \ 138 #define QNWARNING(component, message) \ 139 __QNLOG_BASE(component, message, Warning) \ 142 #define QNERROR(component, message) \ 143 __QNLOG_BASE(component, message, Error) \ 146 #define QUENTIER_SET_MIN_LOG_LEVEL(level) \ 147 quentier::QuentierSetMinLogLevel( \ 148 quentier::LogLevel::level) // QUENTIER_SET_MIN_LOG_LEVEL 150 #define QUENTIER_INITIALIZE_LOGGING() \ 151 quentier::QuentierInitializeLogging() // QUENTIER_INITIALIZE_LOGGING 153 #define QUENTIER_ADD_STDOUT_LOG_DESTINATION() \ 155 QuentierAddStdOutLogDestination() // QUENTIER_ADD_STDOUT_LOG_DESTINATION 157 #define QNLOG_FILE_LINENUMBER_DELIMITER ":" 159 #endif // LIB_QUENTIER_LOGGING_QUENTIER_LOGGER_H Definition: DecryptedTextManager.h:26