File: dloggerdefs.h

package info (click to toggle)
dtklog 0.0.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 372 kB
  • sloc: cpp: 1,683; ansic: 59; makefile: 9
file content (48 lines) | stat: -rw-r--r-- 2,015 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: LGPL-2.1-or-later
#ifndef DLOGGER_DEFINE_H
#define DLOGGER_DEFINE_H

#include "dlog_global.h"
#include <QLoggingCategory>

DLOG_CORE_BEGIN_NAMESPACE

class Logger;
class DLogHelper;
LIBDLOG_SHARED_EXPORT Logger *loggerInstance();
#define dlogger loggerInstance()

#define DLOG_CTX(category) QMessageLogContext(__FILE__, __LINE__, Q_FUNC_INFO, category)

// include DLog or dloghelper.h
#define dTrace DLogHelper(Logger::Trace, DLOG_CTX("default")).write
#define dDebug DLogHelper(Logger::Debug, DLOG_CTX("default")).write
#define dInfo DLogHelper(Logger::Info, DLOG_CTX("default")).write
#define dWarning DLogHelper(Logger::Warning, DLOG_CTX("default")).write
#define dError DLogHelper(Logger::Error, DLOG_CTX("default")).write
#define dFatal DLogHelper(Logger::Fatal, DLOG_CTX("default")).write

#define dCDebug(category) DLogHelper(Logger::Debug, DLOG_CTX(category)).write()
#define dCInfo(category) DLogHelper(Logger::Info, DLOG_CTX(category)).write()
#define dCWarning(category) DLogHelper(Logger::Warning, DLOG_CTX(category)).write()
#define dCError(category) DLogHelper(Logger::Error, DLOG_CTX(category)).write()
#define dCFatal(category) DLogHelper(Logger::Fatal, DLOG_CTX(category)).write()

#define dTraceTime                                         \
    DLogHelper helper(Logger::Trace, DLOG_CTX("default")); \
    helper.timing
#define dDebugTime                                         \
    DLogHelper helper(Logger::Debug, DLOG_CTX("default")); \
    helper.timing
#define dInfoTime                                         \
    DLogHelper helper(Logger::Info, DLOG_CTX("default")); \
    helper.timing

#define dAssert(cond) ((!(cond)) ? loggerInstance()->writeAssert(__FILE__, __LINE__, Q_FUNC_INFO, #cond) : qt_noop())
#define dAssertX(cond, msg) ((!(cond)) ? loggerInstance()->writeAssert(__FILE__, __LINE__, Q_FUNC_INFO, msg) : qt_noop())

DLOG_CORE_END_NAMESPACE

#endif // DLOGGER_DEFINE_H