11#include "dloggerdefs.h"
15class AbstractAppender;
32 Logger(
const QString &defaultCategory);
48 void write(
const QDateTime &time,
LogLevel level,
const char *file,
int line,
49 const char *func,
const char *category,
const QString &msg);
51 const char *func,
const char *category,
const QString &msg);
53 const char *func,
const char *category);
55 const char *func,
const char *condition);
58 void write(
const QDateTime &time,
LogLevel level,
const char *file,
int line,
59 const char *func,
const char *category,
60 const QString &msg,
bool fromLocalInstance);
72 const char *file,
int line,
const char *func)
82 int line,
const char *func,
const char *category)
91 void write(
const char *msg, ...)
const
92#if defined(Q_CC_GNU) && !defined(__INSURE__)
93 #if defined(Q_CC_MINGW) && !defined(Q_CC_CLANG)
94 __attribute__((format(gnu_printf, 2, 3)));
96 __attribute__((format(printf, 2, 3)));
100 void write(
const QString &msg)
const;
101 QDebug write()
const;
108 const char *m_function;
109 const char *m_category;
117 const char *file,
int line,
const char *func)
125 void start(
const char *msg, ...)
126#if defined(Q_CC_GNU) && !defined(__INSURE__)
127 #if defined(Q_CC_MINGW) && !defined(Q_CC_CLANG)
128 __attribute__((format(gnu_printf, 2, 3)));
130 __attribute__((format(printf, 2, 3)));
134 void start(
const QString &msg = QString());
144 const char *m_function;
AbstractAppender为应用消息的线程安全、互斥保护的日志提供了一个通用的实现
Definition: AbstractAppender.h:16
非常简单但相当强大的组件,可用于记录你的应用程序活动。
Definition: Logger.h:18
static QString levelToString(LogLevel level)
将LogLevel枚举值转换为其字符串表示
void registerAppender(AbstractAppender *appender)
注册appender来写入日志记录 在写入日志的调用中(使用其中一个宏或write()函数),Logger遍历appender列表,并向每个appender写入日志记录。请查阅AbstractAppe...
void writeAssert(const char *file, int line, const char *func, const char *condition)
写入断言
static Logger * globalInstance()
返回Logger的全局对象
QString defaultCategory() const
返回默认的日志类别名称
LogLevel
日志等级
Definition: Logger.h:22
void setDefaultCategory(const QString &category)
设置默认的日志类别 所有到这个类别应用的日志信息也将被写入一般的日志实例应用(使用registerAppender方法注册),反之亦然 特别是,任何对dDebug()宏的调用都将被视为类别日志 所以你不...
static LogLevel levelFromString(const QString &str)
将LogLevel字符串表示转换为枚举值
QDebug write(LogLevel level, const char *file, int line, const char *func, const char *category)
这是为方便而提供的重载函数。它的行为与同名函数类似,此函数无需传入message参数
Logger(const QString &defaultCategory)
构建Logger的实例并设置Logger的默认类别
void write(const QDateTime &time, LogLevel level, const char *file, int line, const char *func, const char *category, const QString &msg)
写入日志记录。 将带有所提供参数的日志记录写给所有注册的应用
void logToGlobalInstance(const QString &category, bool logToGlobal=false)
将一些日志类别与全局日志实例应用者联系起来。 如果logToGlobal设置为 "true",所有到指定类别的Logger的日志消息也将被写入全局日志实例appenders(使用registerAppe...
void registerCategoryAppender(const QString &category, AbstractAppender *appender)
注册appender,将日志记录写到特定的类别中
void write(LogLevel level, const char *file, int line, const char *func, const char *category, const QString &msg)
这是为方便而提供的重载函数。它的行为与同名函数类似,此函数无需传入time参数