summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndre Hartmann <aha_1980@gmx.de>2017-11-05 19:15:19 +0100
committerAndré Hartmann <aha_1980@gmx.de>2017-11-13 19:29:48 +0000
commit328db7b395a1df970ccc641b2077c5c6ecbcf7de (patch)
treedd3911db9dc995797e2d8cfbba08f56c645308fd
parent9de99ca2d395037a092a9003cad3dbb7bb5fde98 (diff)
CAN: Introduce categorized logging
[ChangeLog][CAN bus] Introduced categorized logging to the CAN bus module which can be enabled by the "qt.canbus" and "qt.canbus.plugins.<pluginname>" filters. Change-Id: Ib39c0b2ebcd967cd7812602190807ad3488ccb18 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
-rw-r--r--examples/serialbus/can/main.cpp3
-rw-r--r--src/plugins/canbus/peakcan/main.cpp6
-rw-r--r--src/plugins/canbus/peakcan/peakcanbackend.cpp7
-rw-r--r--src/plugins/canbus/socketcan/main.cpp4
-rw-r--r--src/plugins/canbus/socketcan/socketcanbackend.cpp11
-rw-r--r--src/plugins/canbus/systeccan/main.cpp6
-rw-r--r--src/plugins/canbus/systeccan/systeccanbackend.cpp7
-rw-r--r--src/plugins/canbus/tinycan/main.cpp6
-rw-r--r--src/plugins/canbus/tinycan/tinycanbackend.cpp11
-rw-r--r--src/plugins/canbus/vectorcan/main.cpp6
-rw-r--r--src/plugins/canbus/vectorcan/vectorcanbackend.cpp7
-rw-r--r--src/serialbus/qcanbusdevice.cpp21
12 files changed, 67 insertions, 28 deletions
diff --git a/examples/serialbus/can/main.cpp b/examples/serialbus/can/main.cpp
index b762aa8..b4b4675 100644
--- a/examples/serialbus/can/main.cpp
+++ b/examples/serialbus/can/main.cpp
@@ -39,10 +39,13 @@
****************************************************************************/
#include "mainwindow.h"
+
#include <QApplication>
+#include <QLoggingCategory>
int main(int argc, char *argv[])
{
+ QLoggingCategory::setFilterRules(QStringLiteral("qt.canbus* = true"));
QApplication a(argc, argv);
MainWindow w;
w.show();
diff --git a/src/plugins/canbus/peakcan/main.cpp b/src/plugins/canbus/peakcan/main.cpp
index 7444f6d..8ab1b99 100644
--- a/src/plugins/canbus/peakcan/main.cpp
+++ b/src/plugins/canbus/peakcan/main.cpp
@@ -41,8 +41,12 @@
#include <QtSerialBus/qcanbusdevice.h>
#include <QtSerialBus/qcanbusfactory.h>
+#include <QtCore/qloggingcategory.h>
+
QT_BEGIN_NAMESPACE
+Q_LOGGING_CATEGORY(QT_CANBUS_PLUGINS_PEAKCAN, "qt.canbus.plugins.peakcan")
+
class PeakCanBusPlugin : public QObject, public QCanBusFactoryV2
{
Q_OBJECT
@@ -62,7 +66,7 @@ public:
{
QString errorReason;
if (!PeakCanBackend::canCreate(&errorReason)) {
- qWarning("%ls", qUtf16Printable(errorReason));
+ qCWarning(QT_CANBUS_PLUGINS_PEAKCAN, "%ls", qUtf16Printable(errorReason));
if (errorMessage)
*errorMessage = errorReason;
return nullptr;
diff --git a/src/plugins/canbus/peakcan/peakcanbackend.cpp b/src/plugins/canbus/peakcan/peakcanbackend.cpp
index 40b63df..6dd87da 100644
--- a/src/plugins/canbus/peakcan/peakcanbackend.cpp
+++ b/src/plugins/canbus/peakcan/peakcanbackend.cpp
@@ -43,6 +43,7 @@
#include <QtCore/qtimer.h>
#include <QtCore/qcoreevent.h>
+#include <QtCore/qloggingcategory.h>
#include <algorithm>
@@ -54,6 +55,8 @@
QT_BEGIN_NAMESPACE
+Q_DECLARE_LOGGING_CATEGORY(QT_CANBUS_PLUGINS_PEAKCAN)
+
#ifndef LINK_LIBPCANBASIC
Q_GLOBAL_STATIC(QLibrary, pcanLibrary)
#endif
@@ -482,8 +485,8 @@ bool PeakCanBackend::open()
const QVariant param = configurationParameter(key);
const bool success = d->setConfigurationParameter(key, param);
if (Q_UNLIKELY(!success)) {
- qWarning("Cannot apply parameter: %d with value: %ls.",
- key, qUtf16Printable(param.toString()));
+ qCWarning(QT_CANBUS_PLUGINS_PEAKCAN, "Cannot apply parameter: %d with value: %ls.",
+ key, qUtf16Printable(param.toString()));
}
}
}
diff --git a/src/plugins/canbus/socketcan/main.cpp b/src/plugins/canbus/socketcan/main.cpp
index 92e759b..328db97 100644
--- a/src/plugins/canbus/socketcan/main.cpp
+++ b/src/plugins/canbus/socketcan/main.cpp
@@ -40,10 +40,12 @@
#include <QtSerialBus/qcanbusdevice.h>
#include <QtSerialBus/qcanbusfactory.h>
-#include <QtCore/qfile.h>
+#include <QtCore/qloggingcategory.h>
QT_BEGIN_NAMESPACE
+Q_LOGGING_CATEGORY(QT_CANBUS_PLUGINS_SOCKETCAN, "qt.canbus.plugins.socketcan")
+
//! [SocketCanFactory]
class SocketCanBusPlugin : public QObject, public QCanBusFactoryV2
{
diff --git a/src/plugins/canbus/socketcan/socketcanbackend.cpp b/src/plugins/canbus/socketcan/socketcanbackend.cpp
index 021c309..ddda3a9 100644
--- a/src/plugins/canbus/socketcan/socketcanbackend.cpp
+++ b/src/plugins/canbus/socketcan/socketcanbackend.cpp
@@ -40,6 +40,7 @@
#include <QtCore/qdebug.h>
#include <QtCore/qdiriterator.h>
#include <QtCore/qfile.h>
+#include <QtCore/qloggingcategory.h>
#include <QtCore/qsocketnotifier.h>
#include <linux/can/error.h>
@@ -76,6 +77,8 @@ struct canfd_frame {
QT_BEGIN_NAMESPACE
+Q_DECLARE_LOGGING_CATEGORY(QT_CANBUS_PLUGINS_SOCKETCAN)
+
const char sysClassNetC[] = "/sys/class/net/";
const char flagsC[] = "/flags";
const char mtuC[] = "/mtu";
@@ -242,7 +245,7 @@ bool SocketCanBackend::applyConfigurationParameter(int key, const QVariant &valu
socklen_t s = sizeof(can_filter);
if (Q_UNLIKELY(setsockopt(canSocket, SOL_CAN_RAW, CAN_RAW_FILTER,
&filters, s) != 0)) {
- qWarning("Cannot unset socket filters");
+ qCWarning(QT_CANBUS_PLUGINS_SOCKETCAN, "Cannot unset socket filters.");
setError(qt_error_string(errno),
QCanBusDevice::CanBusError::ConfigurationError);
break;
@@ -366,8 +369,8 @@ bool SocketCanBackend::connectSocket()
const QVariant param = configurationParameter(key);
bool success = applyConfigurationParameter(key, param);
if (Q_UNLIKELY(!success)) {
- qWarning("Cannot apply parameter: %d with value: %ls",
- key, qUtf16Printable(param.toString()));
+ qCWarning(QT_CANBUS_PLUGINS_SOCKETCAN, "Cannot apply parameter: %d with value: %ls.",
+ key, qUtf16Printable(param.toString()));
}
}
@@ -436,7 +439,7 @@ bool SocketCanBackend::writeFrame(const QCanBusFrame &newData)
if (Q_UNLIKELY(!canFdOptionEnabled && newData.hasFlexibleDataRateFormat())) {
const QString error = tr("Cannot write CAN FD frame because CAN FD option is not enabled.");
- qDebug("%ls", qUtf16Printable(error));
+ qCWarning(QT_CANBUS_PLUGINS_SOCKETCAN, "%ls", qUtf16Printable(error));
setError(error, QCanBusDevice::WriteError);
return false;
}
diff --git a/src/plugins/canbus/systeccan/main.cpp b/src/plugins/canbus/systeccan/main.cpp
index fcb76a3..89377a0 100644
--- a/src/plugins/canbus/systeccan/main.cpp
+++ b/src/plugins/canbus/systeccan/main.cpp
@@ -40,8 +40,12 @@
#include <QtSerialBus/qcanbusdevice.h>
#include <QtSerialBus/qcanbusfactory.h>
+#include <QtCore/qloggingcategory.h>
+
QT_BEGIN_NAMESPACE
+Q_LOGGING_CATEGORY(QT_CANBUS_PLUGINS_SYSTECCAN, "qt.canbus.plugins.systeccan")
+
class SystecCanBusPlugin : public QObject, public QCanBusFactoryV2
{
Q_OBJECT
@@ -61,7 +65,7 @@ public:
{
QString errorReason;
if (Q_UNLIKELY(!SystecCanBackend::canCreate(&errorReason))) {
- qWarning("%ls", qUtf16Printable(errorReason));
+ qCWarning(QT_CANBUS_PLUGINS_SYSTECCAN, "%ls", qUtf16Printable(errorReason));
if (errorMessage)
*errorMessage = errorReason;
return nullptr;
diff --git a/src/plugins/canbus/systeccan/systeccanbackend.cpp b/src/plugins/canbus/systeccan/systeccanbackend.cpp
index 6422305..0836776 100644
--- a/src/plugins/canbus/systeccan/systeccanbackend.cpp
+++ b/src/plugins/canbus/systeccan/systeccanbackend.cpp
@@ -43,11 +43,14 @@
#include <QtCore/qcoreapplication.h>
#include <QtCore/qcoreevent.h>
#include <QtCore/qdebug.h>
+#include <QtCore/qloggingcategory.h>
#include <QtCore/qregularexpression.h>
#include <QtCore/qtimer.h>
QT_BEGIN_NAMESPACE
+Q_DECLARE_LOGGING_CATEGORY(QT_CANBUS_PLUGINS_SYSTECCAN)
+
Q_GLOBAL_STATIC(QLibrary, systecLibrary)
bool SystecCanBackend::canCreate(QString *errorReason)
@@ -458,8 +461,8 @@ bool SystecCanBackend::open()
const QVariant param = configurationParameter(key);
const bool success = d->setConfigurationParameter(key, param);
if (Q_UNLIKELY(!success)) {
- qWarning("Cannot apply parameter %d with value %ls.",
- key, qUtf16Printable(param.toString()));
+ qCWarning(QT_CANBUS_PLUGINS_SYSTECCAN, "Cannot apply parameter %d with value %ls.",
+ key, qUtf16Printable(param.toString()));
}
}
diff --git a/src/plugins/canbus/tinycan/main.cpp b/src/plugins/canbus/tinycan/main.cpp
index c73d81e..36fb05d 100644
--- a/src/plugins/canbus/tinycan/main.cpp
+++ b/src/plugins/canbus/tinycan/main.cpp
@@ -41,8 +41,12 @@
#include <QtSerialBus/qcanbusdevice.h>
#include <QtSerialBus/qcanbusfactory.h>
+#include <QtCore/qloggingcategory.h>
+
QT_BEGIN_NAMESPACE
+Q_LOGGING_CATEGORY(QT_CANBUS_PLUGINS_TINYCAN, "qt.canbus.plugins.tinycan")
+
class TinyCanBusPlugin : public QObject, public QCanBusFactoryV2
{
Q_OBJECT
@@ -60,7 +64,7 @@ public:
{
QString errorReason;
if (!TinyCanBackend::canCreate(&errorReason)) {
- qWarning("%ls", qUtf16Printable(errorReason));
+ qCWarning(QT_CANBUS_PLUGINS_TINYCAN, "%ls", qUtf16Printable(errorReason));
if (errorMessage)
*errorMessage = errorReason;
return nullptr;
diff --git a/src/plugins/canbus/tinycan/tinycanbackend.cpp b/src/plugins/canbus/tinycan/tinycanbackend.cpp
index 2d9ea2d..0985e48 100644
--- a/src/plugins/canbus/tinycan/tinycanbackend.cpp
+++ b/src/plugins/canbus/tinycan/tinycanbackend.cpp
@@ -45,11 +45,14 @@
#include <QtCore/qtimer.h>
#include <QtCore/qmutex.h>
#include <QtCore/qcoreevent.h>
+#include <QtCore/qloggingcategory.h>
#include <algorithm>
QT_BEGIN_NAMESPACE
+Q_DECLARE_LOGGING_CATEGORY(QT_CANBUS_PLUGINS_TINYCAN)
+
#ifndef LINK_LIBMHSTCAN
Q_GLOBAL_STATIC(QLibrary, mhstcanLibrary)
#endif
@@ -344,7 +347,7 @@ void TinyCanBackendPrivate::startWrite()
::memset(&message, 0, sizeof(message));
if (Q_UNLIKELY(payload.size() > int(sizeof(message.Data.Bytes)))) {
- qWarning("Can not write frame with payload size %d, ignored", payload.size());
+ qCWarning(QT_CANBUS_PLUGINS_TINYCAN, "Cannot write frame with payload size %d.", payload.size());
} else {
message.Id = frame.frameId();
message.Flags.Flag.Len = payload.size();
@@ -392,7 +395,7 @@ void TinyCanBackendPrivate::startRead()
q->setError(systemErrorString(ret), QCanBusDevice::CanBusError::ReadError);
} else {
if (status.CanStatus == CAN_STATUS_BUS_OFF) {
- qWarning("CAN bus is in off state, trying to reset the bus");
+ qCWarning(QT_CANBUS_PLUGINS_TINYCAN, "CAN bus is in off state, trying to reset the bus.");
if (::CanSetMode(channelIndex, OP_CAN_RESET, CAN_CMD_NONE) < 0)
q->setError(systemErrorString(ret), QCanBusDevice::CanBusError::ReadError);
}
@@ -508,8 +511,8 @@ bool TinyCanBackend::open()
const QVariant param = configurationParameter(key);
const bool success = d->setConfigurationParameter(key, param);
if (Q_UNLIKELY(!success)) {
- qWarning("Cannot apply parameter: %d with value: %ls",
- key, qUtf16Printable(param.toString()));
+ qCWarning(QT_CANBUS_PLUGINS_TINYCAN, "Cannot apply parameter: %d with value: %ls.",
+ key, qUtf16Printable(param.toString()));
}
}
}
diff --git a/src/plugins/canbus/vectorcan/main.cpp b/src/plugins/canbus/vectorcan/main.cpp
index 07c30bc..bbfb851 100644
--- a/src/plugins/canbus/vectorcan/main.cpp
+++ b/src/plugins/canbus/vectorcan/main.cpp
@@ -40,8 +40,12 @@
#include <QtSerialBus/qcanbusdevice.h>
#include <QtSerialBus/qcanbusfactory.h>
+#include <QtCore/qloggingcategory.h>
+
QT_BEGIN_NAMESPACE
+Q_LOGGING_CATEGORY(QT_CANBUS_PLUGINS_VECTORCAN, "qt.canbus.plugins.vectorcan")
+
class VectorCanBusPlugin : public QObject, public QCanBusFactoryV2
{
Q_OBJECT
@@ -61,7 +65,7 @@ public:
{
QString errorReason;
if (Q_UNLIKELY(!VectorCanBackend::canCreate(&errorReason))) {
- qWarning("%ls", qUtf16Printable(errorReason));
+ qCWarning(QT_CANBUS_PLUGINS_VECTORCAN, "%ls", qUtf16Printable(errorReason));
if (errorMessage)
*errorMessage = errorReason;
return nullptr;
diff --git a/src/plugins/canbus/vectorcan/vectorcanbackend.cpp b/src/plugins/canbus/vectorcan/vectorcanbackend.cpp
index d58a7e9..0dbe4c4 100644
--- a/src/plugins/canbus/vectorcan/vectorcanbackend.cpp
+++ b/src/plugins/canbus/vectorcan/vectorcanbackend.cpp
@@ -42,6 +42,7 @@
#include <QtCore/qtimer.h>
#include <QtCore/qcoreevent.h>
+#include <QtCore/qloggingcategory.h>
#include <QtCore/qwineventnotifier.h>
#include <QtCore/qcoreapplication.h>
@@ -49,6 +50,8 @@
QT_BEGIN_NAMESPACE
+Q_DECLARE_LOGGING_CATEGORY(QT_CANBUS_PLUGINS_VECTORCAN)
+
#ifndef LINK_LIBVECTORCAN
Q_GLOBAL_STATIC(QLibrary, vectorcanLibrary)
#endif
@@ -459,8 +462,8 @@ bool VectorCanBackend::open()
const QVariant param = configurationParameter(key);
const bool success = d->setConfigurationParameter(key, param);
if (!success) {
- qWarning("Cannot apply parameter: %d with value: %ls",
- key, qUtf16Printable(param.toString()));
+ qCWarning(QT_CANBUS_PLUGINS_VECTORCAN, "Cannot apply parameter: %d with value: %ls.",
+ key, qUtf16Printable(param.toString()));
}
}
diff --git a/src/serialbus/qcanbusdevice.cpp b/src/serialbus/qcanbusdevice.cpp
index f613f0a..31f9d3f 100644
--- a/src/serialbus/qcanbusdevice.cpp
+++ b/src/serialbus/qcanbusdevice.cpp
@@ -43,11 +43,14 @@
#include <QtCore/qdebug.h>
#include <QtCore/qdatastream.h>
#include <QtCore/qeventloop.h>
+#include <QtCore/qloggingcategory.h>
#include <QtCore/qscopedvaluerollback.h>
#include <QtCore/qtimer.h>
QT_BEGIN_NAMESPACE
+Q_LOGGING_CATEGORY(QT_CANBUS, "qt.canbus")
+
/*!
\class QCanBusDevice
\inmodule QtSerialBus
@@ -445,10 +448,10 @@ bool QCanBusDevice::waitForFramesWritten(int msecs)
{
// do not enter this function recursively
if (Q_UNLIKELY(d_func()->waitForWrittenEntered)) {
- qWarning("QCanBusDevice::waitForFramesWritten() must not be called "
- "recursively. Check that no slot containing waitForFramesReceived() "
- "is called in response to framesWritten(qint64) or errorOccurred(CanBusError)"
- "signals\n");
+ qCWarning(QT_CANBUS, "QCanBusDevice::waitForFramesWritten() must not be called "
+ "recursively. Check that no slot containing waitForFramesReceived() "
+ "is called in response to framesWritten(qint64) or "
+ "errorOccurred(CanBusError) signals.");
return false;
}
@@ -498,10 +501,10 @@ bool QCanBusDevice::waitForFramesReceived(int msecs)
{
// do not enter this function recursively
if (Q_UNLIKELY(d_func()->waitForReceivedEntered)) {
- qWarning("QCanBusDevice::waitForFramesReceived() must not be called "
- "recursively. Check that no slot containing waitForFramesReceived() "
- "is called in response to framesReceived() or errorOccurred(CanBusError) "
- "signals\n");
+ qCWarning(QT_CANBUS, "QCanBusDevice::waitForFramesReceived() must not be called "
+ "recursively. Check that no slot containing waitForFramesReceived() "
+ "is called in response to framesReceived() or "
+ "errorOccurred(CanBusError) signals.");
return false;
}
@@ -665,7 +668,7 @@ void QCanBusDevice::disconnectDevice()
if (Q_UNLIKELY(d->state == QCanBusDevice::UnconnectedState
|| d->state == QCanBusDevice::ClosingState)) {
- qWarning("Can not disconnect an unconnected device");
+ qCWarning(QT_CANBUS, "Can not disconnect an unconnected device.");
return;
}