Вывод отладочной информации, централизованно, аля qDebug, qCritical и ... |
Здравствуйте, гость ( Вход | Регистрация )
Вывод отладочной информации, централизованно, аля qDebug, qCritical и ... |
balbes |
25.10.2007, 16:48
Сообщение
#1
|
Студент Группа: Участник Сообщений: 62 Регистрация: 11.10.2007 Пользователь №: 10 Спасибо сказали: 0 раз(а) Репутация: 0 |
Нужно выводить отладочную информацию в файл, но на данный момент у меня натыкано очень много qDebug'ов и qCritical'ов, который соответственно выводят на консоль. Выходом из сложившейся ситуации, вижу только написание синглтона, и замену qDebug'ов и qCritical'ов на вызов соответствующих методов из него.
Может можно это сделать как-то красивее? А то менять очень и очень много нужно... |
|
|
ubuntu |
25.10.2007, 16:53
Сообщение
#2
|
Студент Группа: Новичок Сообщений: 32 Регистрация: 10.10.2007 Пользователь №: 9 Спасибо сказали: 0 раз(а) Репутация: 0 |
Используй qInstallMsgHandler( fnc);
|
|
|
balbes |
25.10.2007, 16:55
Сообщение
#3
|
Студент Группа: Участник Сообщений: 62 Регистрация: 11.10.2007 Пользователь №: 10 Спасибо сказали: 0 раз(а) Репутация: 0 |
Непонятно, как это относится к моей проблеме, пример можно?
|
|
|
ViGOur |
25.10.2007, 16:59
Сообщение
#4
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Примерно так:
Пример взят отсель: qInstallMsgHandler |
|
|
balbes |
25.10.2007, 17:09
Сообщение
#5
|
Студент Группа: Участник Сообщений: 62 Регистрация: 11.10.2007 Пользователь №: 10 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо, то что доктор прописал...
|
|
|
CodeHunter |
23.9.2010, 12:21
Сообщение
#6
|
Студент Группа: Участник Сообщений: 33 Регистрация: 26.8.2010 Пользователь №: 1982 Спасибо сказали: 1 раз(а) Репутация: 0 |
Примерно так: #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 , то все что ты перенаправлял на консоль будет писаться в файл. Осталось ток красиво оформить вывод и вуаля лог готов !!! |
|
|
Litkevich Yuriy |
23.9.2010, 13:12
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
igor_bogomolov |
23.9.2010, 13:17
Сообщение
#8
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Цитата(CodeHunter) Сегодня я уже второй рас вижу плохой пример !! ))) А я сегодня вижу уже второй некропост от тебя. Ты на дату прежде бы смотрел.
|
|
|
Litkevich Yuriy |
23.9.2010, 13:25
Сообщение
#9
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
igor_bogomolov |
23.9.2010, 13:55
Сообщение
#10
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Цитата(Litkevich Yuriy) я не против подъёма старой темы, лишь бы противоречий не было (как с итератором файлов) Я в общем то тоже, если только это делается с целью уточнения ответа.Здесь же опять не понятно, чем этот комментарий мог бы помочь автору темы Цитата(balbes) у меня натыкано очень много qDebug'ов и qCritical'ов
|
|
|
Текстовая версия | Сейчас: 30.11.2024, 12:16 |