DtkCore
DTK Core module
AbstractStringAppender.h
浏览该文件的文档.
1// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef ABSTRACTSTRINGAPPENDER_H
6#define ABSTRACTSTRINGAPPENDER_H
7
8#include "AbstractAppender.h"
9
10#include <QReadWriteLock>
11#include <QDateTime>
12
13DCORE_BEGIN_NAMESPACE
14
15class LIBDTKCORESHARED_EXPORT AbstractStringAppender : public AbstractAppender
16{
17public:
19 virtual QString format() const;
20 void setFormat(const QString &format);
21
22 static QString stripFunctionName(const char *name);
23protected:
24 QString formattedString(const QDateTime &time, Logger::LogLevel level, const char *file, int line,
25 const char *func, const QString &category, const QString &msg) const;
26
27private:
28 static QByteArray qCleanupFuncinfo(const char*);
29
30 QString m_format;
31 mutable QReadWriteLock m_formatLock;
32};
33
34DCORE_END_NAMESPACE
35#endif // ABSTRACTSTRINGAPPENDER_H
AbstractAppender为应用消息的线程安全、互斥保护的日志提供了一个通用的实现
Definition: AbstractAppender.h:16
AbstractStringAppender类为处理纯文本格式的Appender提供了一个方便的基础日志
Definition: AbstractStringAppender.h:16
static QString stripFunctionName(const char *name)
剥离长函数签名(由Q_FUNC_INFO宏添加)
void setFormat(const QString &format)
设置日志格式, 以便用这个appender向日志目标写入字符串。
virtual QString format() const
返回当前使用的format字符串
AbstractStringAppender()
构建一个新的字符串appender对象
LogLevel
日志等级
Definition: Logger.h:22