On Monday 20 February 2012 12:25:07 Lincoln Ramsay wrote:
> On 02/17/2012 06:23 PM, ext David Faure wrote:
> > Yes, end users don't like debug statements polluting their terminals and
> > session log file. With the above reasoning, we could just keep saying "do
> > not use qDebug in committed code" and the problem would be fixed. But in
> > the case where developers don't follow that rule, users will appreciate
> > an off switch :).
> 
> Ok... I think I'm convinced.
> 
> You can of course always drop these messages from the message handler.

No, users cannot do that ;)
Application developers can, but not library developers nor users.

Especially in the open source world, where libraries and apps are developed by 
different people, and the app developers have little control over the code in 
the libs they are using. Well, I suspect this happens in commercial setups too 
:-).
Proper usage of qLog with areas solves the "lib issue", but there's also the 
case of using 20 different apps, which use qDebug without an area (that's what 
qDebug is for), and users then need to be able to switch it off.

> Turning off qDebugs using the "if (!enabled); else" pattern would make
> these ignored debugs cheaper so it makes sense to do that in the macro.

Yep.

> Where I'm a bit less clear is how the API for this would look.
> 
> Do you imagine something in the qLog config file? An environment
> variable? A C++ API?

I think "something in the qLog config file" is the best option. It allows to 
provide a GUI tool that toggles the configuration, for users.

An env var would be my second favorite, a C++ API is definitely a no since the 
goal is to let users toggle it.

-- 
David Faure | david.fa...@kdab.com | KDE/Qt Senior Software Engineer
KDAB (France) S.A.S., a KDAB Group company
Tel. France +33 (0)4 90 84 08 53, Sweden (HQ) +46-563-540090
KDAB - Qt Experts - Platform-independent software solutions

_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to