QEverCloud  6.1.0
Unofficial Evernote Cloud API for Qt
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
Log.h File Reference
#include "Export.h"
#include "Helpers.h"
#include <QDateTime>
#include <QDebug>
#include <QObject>
#include <QTextStream>
#include <memory>

Go to the source code of this file.

Classes

class  qevercloud::ILogger
 

Namespaces

 qevercloud
 

Macros

#define __QEVERCLOUD_LOG_BASE(component, level, message)
 
#define QEC_TRACE(component, message)   __QEVERCLOUD_LOG_BASE(component, LogLevel::Trace, message) \
 
#define QEC_DEBUG(component, message)   __QEVERCLOUD_LOG_BASE(component, LogLevel::Debug, message) \
 
#define QEC_INFO(component, message)   __QEVERCLOUD_LOG_BASE(component, LogLevel::Info, message) \
 
#define QEC_WARNING(component, message)   __QEVERCLOUD_LOG_BASE(component, LogLevel::Warn, message) \
 
#define QEC_ERROR(component, message)   __QEVERCLOUD_LOG_BASE(component, LogLevel::Error, message) \
 

Typedefs

using qevercloud::ILoggerPtr = std::shared_ptr< ILogger >
 

Enumerations

enum  qevercloud::LogLevel {
  qevercloud::LogLevel::Trace = 0, qevercloud::LogLevel::Debug, qevercloud::LogLevel::Info, qevercloud::LogLevel::Warn,
  qevercloud::LogLevel::Error
}
 

Functions

QEVERCLOUD_EXPORT QTextStream & qevercloud::operator<< (QTextStream &out, const LogLevel level)
 
QEVERCLOUD_EXPORT QDebug & qevercloud::operator<< (QDebug &out, const LogLevel level)
 
QEVERCLOUD_EXPORT ILoggerPtr qevercloud::logger ()
 
QEVERCLOUD_EXPORT void qevercloud::setLogger (ILoggerPtr logger)
 
QEVERCLOUD_EXPORT ILoggerPtr qevercloud::nullLogger ()
 
QEVERCLOUD_EXPORT ILoggerPtr qevercloud::newStdErrLogger (LogLevel level=LogLevel::Warn)
 

Macro Definition Documentation

◆ __QEVERCLOUD_LOG_BASE

#define __QEVERCLOUD_LOG_BASE (   component,
  level,
  message 
)
Value:
{ \
auto __qevercloudLogger = ::qevercloud::logger(); \
if (__qevercloudLogger->shouldLog(level, component)) \
{ \
QString msg; \
QDebug dbg(&msg); \
dbg.nospace(); \
dbg.noquote(); \
dbg << message; \
__qevercloudLogger->log( \
level, \
component, \
__FILE__, \
__LINE__, \
QDateTime::currentMSecsSinceEpoch(), \
msg); \
} \
} \

◆ QEC_DEBUG

#define QEC_DEBUG (   component,
  message 
)    __QEVERCLOUD_LOG_BASE(component, LogLevel::Debug, message) \

◆ QEC_ERROR

#define QEC_ERROR (   component,
  message 
)    __QEVERCLOUD_LOG_BASE(component, LogLevel::Error, message) \

◆ QEC_INFO

#define QEC_INFO (   component,
  message 
)    __QEVERCLOUD_LOG_BASE(component, LogLevel::Info, message) \

◆ QEC_TRACE

#define QEC_TRACE (   component,
  message 
)    __QEVERCLOUD_LOG_BASE(component, LogLevel::Trace, message) \

◆ QEC_WARNING

#define QEC_WARNING (   component,
  message 
)    __QEVERCLOUD_LOG_BASE(component, LogLevel::Warn, message) \
qevercloud::logger
QEVERCLOUD_EXPORT ILoggerPtr logger()