This is becoming a growing issue in the industry. The Console object needs to be removed from Qt. The project I walked onto I had to spend a week digging it out because it violates the coding standards but that story was pushed deep into the backlog and ignored. A recent message thread on this list where people found all of the calls inside Console.log() were still being made. This has become an unsafe and overused crutch.
Yes, in theory they should have been able to turn off “qml” and “js” output
but even the doc for qCDebug() is a bit iffy on the matter. First stating
qCDebug(category) << "a debug message";
Note: Arguments are not processed if debug output for the category is not enabled, so do not rely on any side effects.
qCDebug(category, "a debug message logged into category %s", category.categoryName());
Note: Arguments might not be processed if debug output for the category is not enabled, so do not rely on any side effects.
So, either they didn’t manage to disable the logging category or it executes everything and throws away the output.
While the qC stuff was nice, it came a bit late since most shops already had to have their own classes to interface with syslog on embedded targets.
Let’s just remove Console so applications get created correctly from the start.
This AGILE thing is really bringing down the embedded world. No System Architecture Document created up front. No Architect participating in code review prior to check-in. All of the Architecture “user stories” pushed to the deepest recesses of the backlog in a false hope they can just be ignored.
Lowering the bar was _not_ a good idea and AGILE has failed industry wide. You just can’t prove your project is a failure because there is never anything in writing about what it was __supposed__ to do. Everybody gets a ribbon just for showing up.