Как включить и отключить сообщения qDebug()
я отключаю сообщения qDebug (), написав
CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG_OUTPUT
в .pro файл. Это прекрасно работает. Я хотел бы знать, есть ли способ включить сообщения qDebug() с помощью исходного кода. Я хотел бы отправить его в качестве аргумента в приложение. Поэтому по умолчанию у меня будут отключены сообщения qDebug (), но с аргументом, указывающим на включение сообщений qDebug (), мне нужно включить qDebug (). Возможно ли это сделать?
любая помощь оценили
2 ответов
вы можете добавить свою собственную функцию для обработки сообщений отладки Qt с помощью qInstallMsgHandler
Это позволит вам контролировать, следует ли печатать сообщения.
вы можете управлять QDebug (и всеми сообщениями) во время выполнения с помощью нескольких опций:
-
QLoggingCategory что позволяет использовать переменные среды или файлы конфигурации. Например с Qt 5.6 вы можете сделать:
QT_LOGGING_RULES="*.debug=false;driver.usb.debug=true"
включает qDebug для всего, кроме отладки USB. Если вам нужна более сложная настройка, или если вы используете Qt 5.5 или ранее, вы можете включать и выключать отдельные отладочные сообщения через qtlogging.Ини файл. - QT_MESSAGE_PATTERN может также использоваться для управления выводом сообщений, а также делать форматирование.