DtkCore
DTK Core module
dloggerdefs.h
1
// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
2
//
3
// SPDX-License-Identifier: LGPL-3.0-or-later
4
#ifndef DLOGGER_DEFINE_H
5
#define DLOGGER_DEFINE_H
6
7
#include "dtkcore_global.h"
8
9
DCORE_BEGIN_NAMESPACE
10
11
class
Logger;
12
class
CuteMessageLogger;
13
class
LoggerTimingHelper;
14
LIBDTKCORESHARED_EXPORT Logger *loggerInstance();
15
#define logger loggerInstance()
16
17
#define dTrace CuteMessageLogger(loggerInstance(), Logger::Trace, __FILE__, __LINE__, Q_FUNC_INFO).write
18
#define dDebug CuteMessageLogger(loggerInstance(), Logger::Debug, __FILE__, __LINE__, Q_FUNC_INFO).write
19
#define dInfo CuteMessageLogger(loggerInstance(), Logger::Info, __FILE__, __LINE__, Q_FUNC_INFO).write
20
#define dWarning CuteMessageLogger(loggerInstance(), Logger::Warning, __FILE__, __LINE__, Q_FUNC_INFO).write
21
#define dError CuteMessageLogger(loggerInstance(), Logger::Error, __FILE__, __LINE__, Q_FUNC_INFO).write
22
#define dFatal CuteMessageLogger(loggerInstance(), Logger::Fatal, __FILE__, __LINE__, Q_FUNC_INFO).write
23
24
#define dCDebug(category) CuteMessageLogger(loggerInstance(), Logger::Debug, __FILE__, __LINE__, Q_FUNC_INFO, category).write()
25
#define dCInfo(category) CuteMessageLogger(loggerInstance(), Logger::Info, __FILE__, __LINE__, Q_FUNC_INFO, category).write()
26
#define dCWarning(category) CuteMessageLogger(loggerInstance(), Logger::Warning, __FILE__, __LINE__, Q_FUNC_INFO, category).write()
27
#define dCError(category) CuteMessageLogger(loggerInstance(), Logger::Error, __FILE__, __LINE__, Q_FUNC_INFO, category).write()
28
#define dCFatal(category) CuteMessageLogger(loggerInstance(), Logger::Fatal, __FILE__, __LINE__, Q_FUNC_INFO, category).write()
29
30
#define dTraceTime LoggerTimingHelper loggerTimingHelper(loggerInstance(), Logger::Trace, __FILE__, __LINE__, Q_FUNC_INFO); loggerTimingHelper.start
31
#define dDebugTime LoggerTimingHelper loggerTimingHelper(loggerInstance(), Logger::Debug, __FILE__, __LINE__, Q_FUNC_INFO); loggerTimingHelper.start
32
#define dInfoTime LoggerTimingHelper loggerTimingHelper(loggerInstance(), Logger::Info, __FILE__, __LINE__, Q_FUNC_INFO); loggerTimingHelper.start
33
34
#define dAssert(cond) ((!(cond)) ? loggerInstance()->writeAssert(__FILE__, __LINE__, Q_FUNC_INFO, #cond) : qt_noop())
35
#define dAssertX(cond, msg) ((!(cond)) ? loggerInstance()->writeAssert(__FILE__, __LINE__, Q_FUNC_INFO, msg) : qt_noop())
36
37
#define dCategory(category) \
38
private:\
39
Logger* loggerInstance()\
40
{\
41
static Logger customLoggerInstance(category);\
42
return &customLoggerInstance;\
43
}\
44
45
#define dGlobalCategory(category) \
46
private:\
47
Logger* loggerInstance()\
48
{\
49
static Logger customLoggerInstance(category);\
50
customLoggerInstance.logToGlobalInstance(category, true);\
51
return &customLoggerInstance;\
52
}\
53
54
DCORE_END_NAMESPACE
55
56
#endif
// DLOGGER_DEFINE_H
include
log
dloggerdefs.h
文档生成时间:2022-12-30-05:08 +00
Doxygen Version
1.9.4
制作者:deepin doc doc go SIG
文档使用CC-BY-4.0共享