DtkCore
DTK Core module
AbstractAppender.h
浏览该文件的文档.
1// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef ABSTRACTAPPENDER_H
6#define ABSTRACTAPPENDER_H
7
8#include "dtkcore_global.h"
9#include <Logger.h>
10
11#include <QMutex>
12
13DCORE_BEGIN_NAMESPACE
14
15class LIBDTKCORESHARED_EXPORT AbstractAppender
16{
17public:
20
23 void setDetailsLevel(const QString &level);
24
25 void write(const QDateTime &time, Logger::LogLevel level, const char *file, int line,
26 const char *func, const QString &category, const QString &msg);
27
28protected:
29 virtual void append(const QDateTime &time, Logger::LogLevel level, const char *file, int line,
30 const char *func, const QString &category, const QString &msg) = 0;
31
32private:
33 QMutex m_writeMutex;
34
35 Logger::LogLevel m_detailsLevel;
36 mutable QMutex m_detailsLevelMutex;
37};
38
39DCORE_END_NAMESPACE
40#endif // ABSTRACTAPPENDER_H
AbstractAppender为应用消息的线程安全、互斥保护的日志提供了一个通用的实现
Definition: AbstractAppender.h:16
virtual ~AbstractAppender()
AbstractAppender析构函数
void setDetailsLevel(Logger::LogLevel level)
设置当前appender的记录级别,默认记录级别为Logger::Debug
Logger::LogLevel detailsLevel() const
返回appender的当前日志级别
void setDetailsLevel(const QString &level)
设置当前appender的记录级别,这个函数是为了简化输入而提供的,它的行为与同名函数类似。
AbstractAppender()
AbstractAppender构造函数
void write(const QDateTime &time, Logger::LogLevel level, const char *file, int line, const char *func, const QString &category, const QString &msg)
尝试写入日志,这是由Logger对象调用的函数,用于向appender写入日志信息
LogLevel
日志等级
Definition: Logger.h:22