8 #ifndef QEVERCLOUD_LOG_H 9 #define QEVERCLOUD_LOG_H 17 #include <QTextStream> 35 QTextStream & out,
const LogLevel level);
45 virtual bool shouldLog(
46 const LogLevel level,
const char * component)
const = 0;
49 const LogLevel level,
const char * component,
const char * fileName,
50 const quint32 lineNumber,
const qint64 timestamp,
51 const QString & message) = 0;
53 virtual void setLevel(
const LogLevel level) = 0;
72 #define __QEVERCLOUD_LOG_BASE(component, level, message) \ 74 auto __qevercloudLogger = ::qevercloud::logger(); \ 75 if (__qevercloudLogger->shouldLog(level, component)) \ 82 __qevercloudLogger->log( \ 87 QDateTime::currentMSecsSinceEpoch(), \ 91 // __QEVERCLOUD_LOG_BASE 93 #define QEC_TRACE(component, message) \ 94 __QEVERCLOUD_LOG_BASE(component, LogLevel::Trace, message) \ 97 #define QEC_DEBUG(component, message) \ 98 __QEVERCLOUD_LOG_BASE(component, LogLevel::Debug, message) \ 101 #define QEC_INFO(component, message) \ 102 __QEVERCLOUD_LOG_BASE(component, LogLevel::Info, message) \ 105 #define QEC_WARNING(component, message) \ 106 __QEVERCLOUD_LOG_BASE(component, LogLevel::Warn, message) \ 109 #define QEC_ERROR(component, message) \ 110 __QEVERCLOUD_LOG_BASE(component, LogLevel::Error, message) \ 115 #endif // QEVERCLOUD_LOG_H QEVERCLOUD_EXPORT void setLogger(ILoggerPtr logger)
QEVERCLOUD_EXPORT ILoggerPtr nullLogger()
LogLevel
Definition: Log.h:25
#define QEVERCLOUD_EXPORT
Definition: Export.h:19
QEVERCLOUD_EXPORT ILoggerPtr logger()
std::shared_ptr< ILogger > ILoggerPtr
Definition: Log.h:58
Definition: AsyncResult.h:21
QEVERCLOUD_EXPORT ILoggerPtr newStdErrLogger(LogLevel level=LogLevel::Warn)
QEVERCLOUD_EXPORT QTextStream & operator<<(QTextStream &out, const EDAMErrorCode value)