DtkCore
DTK Core module
LogManager.h
浏览该文件的文档.
1// Copyright (C) 2017 ~ 2017 Deepin Technology Co., Ltd.
2// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
3//
4// SPDX-License-Identifier: LGPL-3.0-or-later
5
6#ifndef LOGMANAGER_H
7#define LOGMANAGER_H
8
9#include <QtCore>
10
11#include "dtkcore_global.h"
12
13DCORE_BEGIN_NAMESPACE
14
15class ConsoleAppender;
16class RollingFileAppender;
17
18class LIBDTKCORESHARED_EXPORT DLogManager
19{
20public:
22 static void registerFileAppender();
23
24 static QString getlogFilePath();
25
30 static void setlogFilePath(const QString &logFilePath);
31
32 static void setLogFormat(const QString &format);
33
34private:
35 QString m_format;
36 QString m_logPath;
37 ConsoleAppender* m_consoleAppender;
38 RollingFileAppender* m_rollingFileAppender;
39
40 void initConsoleAppender();
41 void initRollingFileAppender();
42 QString joinPath(const QString &path, const QString &fileName);
43
44 inline static DLogManager* instance(){
45 static DLogManager instance;
46 return &instance;
47 }
48 explicit DLogManager();
50 DLogManager(const DLogManager &);
51 DLogManager & operator = (const DLogManager &);
52};
53
54DCORE_END_NAMESPACE
55
56#endif // LOGMANAGER_H
ConsoleAppender是简单的appender,将日志记录写入std::cerr输出流
Definition: ConsoleAppender.h:14
DLogManager是dtk日志管理类,提供对日志的基础设置
Definition: LogManager.h:19
static void setLogFormat(const QString &format)
设置日志的格式,如果没有设置格式
static void registerFileAppender()
配置日志输出方式,调用此方法后日志输出方式是输出到文件。
static QString getlogFilePath()
获取当前的日志存储路径,包括文件名
static void setlogFilePath(const QString &logFilePath)
setlogFilePath will change log file path of registerFileAppender logFilePath is the full path of file...
static void registerConsoleAppender()
配置日志输出方式,调用此方法后日志输出方式是输出到终端
RollingFileAppender类扩展了FileAppender,使日志文件在用户选择的频率上进行滚动
Definition: RollingFileAppender.h:16