2010-05-17 5 views
1

Я разрабатываю приложение Qt. Для каждого класса я пытаюсь имитировать структуру, например метод error() и errorString(), используя частную реализацию.cpp/Qt: для каждого класса отладки

Но я хотел бы добавить на класс отладки:

  • Установите макрос на требуемый уровень отладки,
  • есть макрос или функцию, которая знает уровень отладки, и использовать QDebug() или qWarning() который является класс независим, и будет знать имя текущего класса (для некоторых красивых принтов)

Кто-нибудь есть хорошая идея, чтобы реализовать это?

ответ

0

Вы можете написать класс, например, CDebug со всеми необходимыми методами отладки, и использовать его в других классах, например:

class CMyDialog : public QDialog, public CDebug {...}; 
+0

Это интересный момент. Поэтому я мог бы реализовать набор методов: setDebugLevel(), debug (int level), warn (int level) – dzen

+0

@dzen Да. Я использовал в своем предыдущем проекте такую ​​практику ... – mosg

1

Может QxtLogger класса, часть Qxt библиотеки (библиотека расширения для Qt) обеспечивает то, что вам нужно.

Я бы определенно подумал о том, чтобы использовать что-то уже существующее и проверенное, а не реализовать свое собственное решение для регистрации.

+0

+1 - захватить что-то _off полки_ для регистрации. Я бы рекомендовал прочитать источник. Это хороший опыт обучения. –

Смежные вопросы