Table of Contents
OPC UA open62541

Qt OPC UA: Logging improvements in Qt 6.1

OPC UA open62541

So far programs using Qt OPC UA with the open62541 back-end produced quite a bit of chatter on stdout originating from the open62541 stack itself. Unfortunately there was no simple way to get rid of these low-level logs. We now provide a way to control this behavior.


Qt OPC UA itself uses Qt Categorized Logging internally. We document the logging categories here. So where does all this chatter come from? The open62541 stack has its own logging mechanism which is used to provide some insight into the stack itself. A plugin API allows to customize where this output is sent to. The default implementation, which we used so far, writes everything to stdout.

The new approach

As we did not just want to mute the open62541 output, potentially losing important information, we wrote a small plugin for the open62541 logging API to redirect the low-level open62541 output into a set of additional logging categories, all under the common qt.opcua.plugins.open62541.sdk prefix. To e.g. completely silence the low-level logs you would set “qt.opcua.plugins.open62541.sdk.*=false” as a filter.

Please have a look at the commit itself for the new categories. Updated documentation will be available with the Qt 6.1 release.

Leave a Reply

Your email address will not be published.

Frank Meerkötter

Frank Meerkötter

Frank Meerkoetter is the Development Lead for basysKom GmbH, where he is consulting customers on industrial and embedded applications, often in combination with Qt. He is responsible for the technical consulting, system- and software-architecture within basysKom. He is the maintainer of Qt OPC UA and a contributor to the Qt project. He has a strong background in Embedded Linux, systems programming, distributed systems and application development. He holds a Master of Computer Science from the University of Applied Sciences in Darmstadt.

Read more

Jeremias Bosch
Speedup your Qt/QML list scrolling on lowend devices

Something that has traditionally been complicated to achieve in Qt/QML, especially on low end hardware, is high performant list scrolling with complex delegates.
This has recently changed. In Qt 5.15, it is as simple as setting the new QML ListView property called reuseItems to true. For more details, have a look at the documentation.
In this blog post, I will explain how you can implement this feature in Qt Versions prior to 5.15.

Read More »