QEverCloud
6.1.0
Unofficial Evernote Cloud API for Qt
|
Go to the documentation of this file.
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()
Definition: AsyncResult.h:21
LogLevel
Definition: Log.h:25
std::shared_ptr< ILogger > ILoggerPtr
Definition: Log.h:58
QEVERCLOUD_EXPORT ILoggerPtr logger()
QEVERCLOUD_EXPORT ILoggerPtr newStdErrLogger(LogLevel level=LogLevel::Warn)
#define QEVERCLOUD_EXPORT
Definition: Export.h:19
QEVERCLOUD_EXPORT QTextStream & operator<<(QTextStream &out, const EDAMErrorCode value)