crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Вывод отладочной информации, централизованно, аля qDebug, qCritical и ...
balbes
  опции профиля:
сообщение 25.10.2007, 16:48
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 62
Регистрация: 11.10.2007
Пользователь №: 10

Спасибо сказали: 0 раз(а)




Репутация:   0  


Нужно выводить отладочную информацию в файл, но на данный момент у меня натыкано очень много qDebug'ов и qCritical'ов, который соответственно выводят на консоль. Выходом из сложившейся ситуации, вижу только написание синглтона, и замену qDebug'ов и qCritical'ов на вызов соответствующих методов из него.

Может можно это сделать как-то красивее? А то менять очень и очень много нужно... :(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
CodeHunter
  опции профиля:
сообщение 23.9.2010, 12:21
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 33
Регистрация: 26.8.2010
Пользователь №: 1982

Спасибо сказали: 1 раз(а)




Репутация:   0  


Цитата(ViGOur @ 25.10.2007, 16:59) *
Примерно так:
#include <qapplication.h>
#include <stdio.h>
#include <stdlib.h>

void myMessageOutput(QtMsgType type, const char *msg)
{
switch (type) {
case QtDebugMsg:
fprintf(stderr, "Debug: %s\n", msg);
break;
case QtWarningMsg:
fprintf(stderr, "Warning: %s\n", msg);
break;
case QtCriticalMsg:
fprintf(stderr, "Critical: %s\n", msg);
break;
case QtFatalMsg:
fprintf(stderr, "Fatal: %s\n", msg);
abort();
}
}

int main(int argc, char **argv)
{
qInstallMsgHandler(myMessageOutput);
QApplication app(argc, argv);
// ...
return app.exec();
}


Сегодня я уже второй рас вижу плохой пример !! ))) ну ничего у ViGOur есть и куча други хороших примеров !

Так вот если посмотреть в доки то там можно увидеть такое :
Цитата
QDebug::QDebug ( QIODevice * device )
Constructs a debug stream that writes to the given device.


Значит если создать обект класа QDebug и в конструктор передать указатель на QFile , то все что ты перенаправлял на консоль будет писаться в файл. Осталось ток красиво оформить вывод и вуаля лог готов !!!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- balbes   Вывод отладочной информации, централизованно   25.10.2007, 16:48
- - ubuntu   Используй qInstallMsgHandler( fnc);   25.10.2007, 16:53
- - balbes   Непонятно, как это относится к моей проблеме, прим...   25.10.2007, 16:55
- - ViGOur   Примерно так: #include <qapplication.h> #i...   25.10.2007, 16:59
- - balbes   Спасибо, то что доктор прописал...   25.10.2007, 17:09
- - CodeHunter   Цитата(ViGOur @ 25.10.2007, 16:59) Пример...   23.9.2010, 12:21
- - Litkevich Yuriy   Цитата(CodeHunter @ 23.9.2010, 16:21) Ост...   23.9.2010, 13:12
- - igor_bogomolov   Цитата(CodeHunter)Сегодня я уже второй рас вижу пл...   23.9.2010, 13:17
- - Litkevich Yuriy   Цитата(igor_bogomolov @ 23.9.2010, 17:17)...   23.9.2010, 13:25
- - igor_bogomolov   Цитата(Litkevich Yuriy)я не против подъёма старой ...   23.9.2010, 13:55
- - kwisp   почему просто средствами ОС не перенаправить станд...   23.9.2010, 14:11
- - CodeHunter   Цитата(igor_bogomolov @ 23.9.2010, 13:55)...   23.9.2010, 17:21
- - igor_bogomolov   Цитата(CodeHunter)Когда у нас есть объект класа де...   24.9.2010, 8:46
- - CodeHunter   Цитата(igor_bogomolov @ 24.9.2010, 8:46) ...   24.9.2010, 9:26
- - igor_bogomolov   ЦитатаСмотри что человер хотел с самого начала и ч...   24.9.2010, 9:32
- - CodeHunter   Цитата(igor_bogomolov @ 24.9.2010, 9:32) ...   24.9.2010, 9:43
- - igor_bogomolov   CodeHunter, да что ж ты какой не адекватный. Читай...   24.9.2010, 9:46
- - Litkevich Yuriy   Цитата(igor_bogomolov @ 24.9.2010, 13:46)...   24.9.2010, 10:17
- - sfour.aj   Здравствуйте. Вижу, что тема закрыта, но не я мог ...   26.2.2013, 6:31


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.11.2024, 7:06