8#ifndef QEVERCLOUD_LOG_H
9#define QEVERCLOUD_LOG_H
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(), \
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) \
#define QEVERCLOUD_EXPORT
Definition Export.h:19
virtual void log(const LogLevel level, const char *component, const char *fileName, const quint32 lineNumber, const qint64 timestamp, const QString &message)=0
virtual bool shouldLog(const LogLevel level, const char *component) const =0
virtual LogLevel level() const =0
virtual void setLevel(const LogLevel level)=0
Definition AsyncResult.h:21
QEVERCLOUD_EXPORT QTextStream & operator<<(QTextStream &out, const EDAMErrorCode value)
QEVERCLOUD_EXPORT ILoggerPtr nullLogger()
QEVERCLOUD_EXPORT void setLogger(ILoggerPtr logger)
LogLevel
Definition Log.h:26
QEVERCLOUD_EXPORT ILoggerPtr logger()
QEVERCLOUD_EXPORT ILoggerPtr newStdErrLogger(LogLevel level=LogLevel::Warn)
std::shared_ptr< ILogger > ILoggerPtr
Definition Log.h:58