On 02/17/2012 01:01 AM, ext David Faure wrote: > So why not *change* the qDebug macro to something like > > if (!global_enabled()) /*NOP*/; else QMessageLogger(__FILE__, __LINE__, > Q_FUNC_INFO).debug
Please see the other thread with BRM. He advocates the same kind of approach. I'm not going to repeat the reasons why this is not acceptable. > The goal: that global_enabled() affects *all* qDebug statements, not only > those > with a category Unlike qLog (which defaults to off), qDebug must be on by default or we break all existing code. This means a "runtime" switch for qDebug would only serve to turn all qDebugs off. Is this really a useful thing? Qt itself has no qDebug statements but perhaps other, third party libraries have left them in. In that case, having a runtime disable option may be warranted. Is that what you meant? > (try to explain to a new developer, the reason > why the global switch to disable debug output There is no "global switch" to "disable debug output" with qLog. Please read the code before commenting on the implementation. http://codereview.qt-project.org/#change,13226 >The only reason is "well, I didn't dare to touch qDebug itself"? > I think it's the right time to touch it :-) As has already been covered, the C++ language does not let us overload the qDebug macro with category support and overloading at the function level results in a potentially large performance hit. -- Lincoln Ramsay - Senior Software Engineer Qt Development Frameworks, Nokia - http://qt.nokia.com/ _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development