QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
LogEntry.cc
Go to the documentation of this file.
1
#include "
LogEntry.h
"
2
3
#include <QtCore/QByteArray>
4
#include <QtCore/QHash>
5
#include <QtCore/QVariant>
6
7
QString
LogEntry::levelLabel
()
const
8
{
9
static
const
QString labels[] = {
10
QStringLiteral(
"D"
),
11
QStringLiteral(
"I"
),
12
QStringLiteral(
"W"
),
13
QStringLiteral(
"C"
),
14
QStringLiteral(
"F"
),
15
};
16
const
int
idx =
static_cast<
int
>
(
level
);
17
if
(idx >= 0 && idx <
static_cast<
int
>
(std::size(labels))) {
18
return
labels[idx];
19
}
20
return
QStringLiteral(
"?"
);
21
}
22
23
void
LogEntry::buildFormatted
()
24
{
25
formatted
=
26
QStringLiteral(
"%1 [%2] %3: %4"
).arg(
timestamp
.toString(Qt::ISODateWithMs),
levelLabel
(),
category
,
message
);
27
}
28
29
LogEntry::Level
LogEntry::fromQtMsgType
(QtMsgType type)
30
{
31
switch
(type) {
32
case
QtDebugMsg:
33
return
Debug
;
34
case
QtInfoMsg:
35
return
Info
;
36
case
QtWarningMsg:
37
return
Warning
;
38
case
QtCriticalMsg:
39
return
Critical
;
40
case
QtFatalMsg:
41
return
Fatal
;
42
}
43
return
Debug
;
44
}
45
46
QHash<int, QByteArray>
LogEntry::roleNames
()
47
{
48
static
const
QHash<int, QByteArray> roles{
49
{Qt::DisplayRole,
"display"
},
50
{
TimestampRole
,
"timestamp"
},
51
{
LevelRole
,
"level"
},
52
{
LevelLabelRole
,
"levelLabel"
},
53
{
CategoryRole
,
"category"
},
54
{
MessageRole
,
"message"
},
55
{
FormattedRole
,
"formatted"
},
56
{
FileRole
,
"file"
},
57
{
FunctionRole
,
"function"
},
58
{
LineRole
,
"line"
},
59
{
ThreadIdRole
,
"threadId"
},
60
};
61
return
roles;
62
}
63
64
QVariant
LogEntry::roleData
(
int
role)
const
65
{
66
switch
(role) {
67
case
FormattedRole
:
68
return
formatted
;
69
case
TimestampRole
:
70
return
timestamp
;
71
case
LevelRole
:
72
return
static_cast<
int
>
(
level
);
73
case
LevelLabelRole
:
74
return
levelLabel
();
75
case
CategoryRole
:
76
return
category
;
77
case
MessageRole
:
78
return
message
;
79
case
FileRole
:
80
return
file
;
81
case
FunctionRole
:
82
return
function
;
83
case
LineRole
:
84
return
line
;
85
case
ThreadIdRole
:
86
return
QString::number(
reinterpret_cast<
quintptr
>
(
threadId
), 16);
87
}
88
return
{};
89
}
90
91
QVariant
LogEntry::columnDisplayData
(
int
column)
const
92
{
93
switch
(
static_cast<
Column
>
(column)) {
94
case
TimestampColumn
:
95
return
timestamp
.toString(QStringLiteral(
"hh:mm:ss.zzz"
));
96
case
LevelColumn
:
97
return
levelLabel
();
98
case
CategoryColumn
:
99
return
category
;
100
case
MessageColumn
:
101
return
message
;
102
case
SourceColumn
:
103
if
(
file
.isEmpty()) {
104
return
QString();
105
}
106
return
line
> 0 ? QStringLiteral(
"%1:%2"
).arg(
file
).arg(
line
) :
file
;
107
case
ColumnCount
:
108
break
;
109
}
110
return
{};
111
}
112
113
QVariant
LogEntry::columnHeaderData
(
int
section)
114
{
115
switch
(
static_cast<
Column
>
(section)) {
116
case
TimestampColumn
:
117
return
QStringLiteral(
"Time"
);
118
case
LevelColumn
:
119
return
QStringLiteral(
"Level"
);
120
case
CategoryColumn
:
121
return
QStringLiteral(
"Category"
);
122
case
MessageColumn
:
123
return
QStringLiteral(
"Message"
);
124
case
SourceColumn
:
125
return
QStringLiteral(
"Source"
);
126
case
ColumnCount
:
127
break
;
128
}
129
return
{};
130
}
131
LogEntry.h
LogEntry::columnHeaderData
static QVariant columnHeaderData(int section)
Definition
LogEntry.cc:113
LogEntry::LevelRole
@ LevelRole
Definition
LogEntry.h:55
LogEntry::LineRole
@ LineRole
Definition
LogEntry.h:62
LogEntry::LevelLabelRole
@ LevelLabelRole
Definition
LogEntry.h:56
LogEntry::FileRole
@ FileRole
Definition
LogEntry.h:60
LogEntry::TimestampRole
@ TimestampRole
Definition
LogEntry.h:54
LogEntry::ThreadIdRole
@ ThreadIdRole
Definition
LogEntry.h:63
LogEntry::CategoryRole
@ CategoryRole
Definition
LogEntry.h:57
LogEntry::MessageRole
@ MessageRole
Definition
LogEntry.h:58
LogEntry::FormattedRole
@ FormattedRole
Definition
LogEntry.h:59
LogEntry::FunctionRole
@ FunctionRole
Definition
LogEntry.h:61
LogEntry::file
QString file
Definition
LogEntry.h:41
LogEntry::function
QString function
Definition
LogEntry.h:42
LogEntry::line
int line
Definition
LogEntry.h:45
LogEntry::message
QString message
Definition
LogEntry.h:40
LogEntry::columnDisplayData
QVariant columnDisplayData(int column) const
Definition
LogEntry.cc:91
LogEntry::timestamp
QDateTime timestamp
Definition
LogEntry.h:37
LogEntry::roleData
QVariant roleData(int role) const
Definition
LogEntry.cc:64
LogEntry::levelLabel
QString levelLabel() const
Definition
LogEntry.cc:7
LogEntry::formatted
QString formatted
Definition
LogEntry.h:43
LogEntry::roleNames
static QHash< int, QByteArray > roleNames()
Definition
LogEntry.cc:46
LogEntry::fromQtMsgType
static Level fromQtMsgType(QtMsgType type)
Definition
LogEntry.cc:29
LogEntry::level
Level level
Definition
LogEntry.h:38
LogEntry::category
QString category
Definition
LogEntry.h:39
LogEntry::Column
Column
Definition
LogEntry.h:67
LogEntry::MessageColumn
@ MessageColumn
Definition
LogEntry.h:72
LogEntry::TimestampColumn
@ TimestampColumn
Definition
LogEntry.h:68
LogEntry::ColumnCount
@ ColumnCount
Definition
LogEntry.h:73
LogEntry::CategoryColumn
@ CategoryColumn
Definition
LogEntry.h:70
LogEntry::LevelColumn
@ LevelColumn
Definition
LogEntry.h:69
LogEntry::SourceColumn
@ SourceColumn
Definition
LogEntry.h:71
LogEntry::Level
Level
Definition
LogEntry.h:22
LogEntry::Info
@ Info
Definition
LogEntry.h:24
LogEntry::Debug
@ Debug
Definition
LogEntry.h:23
LogEntry::Critical
@ Critical
Definition
LogEntry.h:26
LogEntry::Fatal
@ Fatal
Definition
LogEntry.h:27
LogEntry::Warning
@ Warning
Definition
LogEntry.h:25
LogEntry::threadId
Qt::HANDLE threadId
Definition
LogEntry.h:44
LogEntry::buildFormatted
void buildFormatted()
Definition
LogEntry.cc:23
src
LogManager
LogEntry.cc
Generated by
1.9.8