@Dariusz That's what the QLoggingCategory::installFilter function lets you do.

#include <QApplication> #include <QLoggingCategory> #include <QLabel> #include <cstdio> QLoggingCategory::CategoryFilter oldFilter; void myCategoryFilter(QLoggingCategory *category) { printf("pre-filter %s: debug:%d info:%d warning:%d critical:%d\n", category->categoryName(), category->isDebugEnabled(), category->isInfoEnabled(), category->isWarningEnabled(), category->isCriticalEnabled()); if (oldFilter) { oldFilter(category); printf("post-filter %s: debug:%d info:%d warning:%d critical:%d\n", category->categoryName(), category->isDebugEnabled(), category->isInfoEnabled(), category->isWarningEnabled(), category->isCriticalEnabled()); } fflush(stdout); } int main(int argc, char *argv[]) { oldFilter = QLoggingCategory::installFilter(myCategoryFilter); // Use some Qt functionality to cause categories to be registered QApplication a(argc, argv); QLabel label("text"); label.show(); return a.exec(); }

Sample ouput:

pre-filter qt.qpa: debug:1 info:1 warning:1 critical:1 post-filter qt.qpa: debug:0 info:0 warning:1 critical:1 pre-filter qt.qpa.screen: debug:1 info:1 warning:1 critical:1 post-filter qt.qpa.screen: debug:0 info:0 warning:0 critical:1 pre-filter qt.accessibility.cache: debug:1 info:1 warning:1 critical:1 post-filter qt.accessibility.cache: debug:0 info:1 warning:1 critical:1 ...