blob: 5f9d72f1245fc17b28cdb0461f027dd03c730459 (
plain) (
blame)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
#include "log.h"
#include "db/queryexecutorsteps/queryexecutorstep.h"
#include <QTime>
#include <QDateTime>
#include <QDebug>
static bool SQL_DEBUG = false;
static bool EXECUTOR_DEBUG = false;
static QString SQL_DEBUG_FILTER = "";
void setSqlLoggingEnabled(bool enabled)
{
SQL_DEBUG = enabled;
}
void setSqlLoggingFilter(const QString& filter)
{
SQL_DEBUG_FILTER = filter;
}
QString getLogDateTime()
{
return QDateTime::currentDateTime().toString("[HH:mm:ss.zzz]");
}
void logSql(Db* db, const QString& str, const QHash<QString,QVariant>& args, Db::Flags flags)
{
if (!SQL_DEBUG)
return;
if (!SQL_DEBUG_FILTER.isEmpty() && SQL_DEBUG_FILTER != db->getName())
return;
qDebug() << QString("SQL %1> %2").arg(db->getName()).arg(str) << "(flags:" << Db::flagsToString(flags) << ")";
QHashIterator<QString,QVariant> it(args);
while (it.hasNext())
{
it.next();
qDebug() << " SQL arg>" << it.key() << "=" << it.value();
}
}
void logSql(Db* db, const QString& str, const QList<QVariant>& args, Db::Flags flags)
{
if (!SQL_DEBUG)
return;
if (!SQL_DEBUG_FILTER.isEmpty() && SQL_DEBUG_FILTER != db->getName())
return;
qDebug() << QString("SQL %1> %2").arg(db->getName()).arg(str) << "(flags:" << Db::flagsToString(flags) << ")";
int i = 0;
for (const QVariant& arg : args)
qDebug() << " SQL arg>" << i++ << "=" << arg;
}
void setExecutorLoggingEnabled(bool enabled)
{
EXECUTOR_DEBUG = enabled;
}
void logExecutorStep(QueryExecutorStep* step)
{
if (!EXECUTOR_DEBUG)
return;
qDebug() << getLogDateTime() << "Executing step:" << step->metaObject()->className() << step->objectName();
}
void logExecutorAfterStep(const QString& str)
{
if (!EXECUTOR_DEBUG)
return;
qDebug() << getLogDateTime() << str;
}
bool isExecutorLoggingEnabled()
{
return EXECUTOR_DEBUG;
}
|