Вывод отладочной информации, централизованно, аля qDebug, qCritical и ... |
Здравствуйте, гость ( Вход | Регистрация )
Вывод отладочной информации, централизованно, аля qDebug, qCritical и ... |
kwisp |
23.9.2010, 14:11
Сообщение
#11
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
почему просто средствами ОС не перенаправить стандартный вывод куда надо?
Сегодня я уже второй рас вижу плохой пример !! ))) ну ничего у ViGOur есть и куча други хороших примеров ! это отличный пример централизированной работы с выводом в лог, очень гибкий пример. сам использую qInstallMsgHandler практически во всех программах. имею несколько обработчиков, установку которых регулирую через файл конфигурации один пишет в стандартный вывод, другой в syslog ... |
|
|
CodeHunter |
23.9.2010, 17:21
Сообщение
#12
|
Студент Группа: Участник Сообщений: 33 Регистрация: 26.8.2010 Пользователь №: 1982 Спасибо сказали: 1 раз(а) Репутация: 0 |
Здесь же опять не понятно, чем этот комментарий мог бы помочь автору темы Когда у нас есть объект класа дебага... Мы легко можем заменить qDebug() << "TEXT" на myDebug << "TEXT" Простой комбинацией найти + заменить И мы получаем вывод в файл !! А критикалы можно на другой объект заменить и получаем вывод в другой файл. В результате мы получаем 2 файла (Дебаг + Лог ошибок) ! (как с итератором файлов) А какие там противоречия ? |
|
|
igor_bogomolov |
24.9.2010, 8:46
Сообщение
#13
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Цитата(CodeHunter) Когда у нас есть объект класа дебага... Мы легко можем заменить qDebug() << "TEXT" на myDebug << "TEXT" Простой комбинацией найти + заменить И что мы получаем в итоге, что мы не можем перенаправить сообщения Qt, а только свои собственные. Мы не можем выводить всю отладочную информацию в один файл, потому что не сможем отделить сообщения разного вида. При этом вынуждены рыскать по проекту, что бы заменить один способ вывода информации на другой, вместо того, что бы делать это централизованно. И мы получаем вывод в файл !! А критикалы можно на другой объект заменить и получаем вывод в другой файл. В результате мы получаем 2 файла (Дебаг + Лог ошибок) ! Т.е. ни одного плюса и куча минусов от твоего способа. Поэтому твой пример крайне не удачен. |
|
|
CodeHunter |
24.9.2010, 9:26
Сообщение
#14
|
Студент Группа: Участник Сообщений: 33 Регистрация: 26.8.2010 Пользователь №: 1982 Спасибо сказали: 1 раз(а) Репутация: 0 |
И что мы получаем в итоге, что мы не можем перенаправить сообщения Qt, а только свои собственные. Мы не можем выводить всю отладочную информацию в один файл, потому что не сможем отделить сообщения разного вида. При этом вынуждены рыскать по проекту, что бы заменить один способ вывода информации на другой, вместо того, что бы делать это централизованно. Т.е. ни одного плюса и куча минусов от твоего способа. Поэтому твой пример крайне не удачен. Смотри что человер хотел с самого начала и что ему дали ! |
|
|
igor_bogomolov |
24.9.2010, 9:32
Сообщение
#15
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Цитата Смотри что человер хотел с самого начала и что ему дали ! Я то как раз и смотрю, в отличии от тебя. Ему дали идеальное решение его проблемы. Ты предлагаешь полную ерунду.
|
|
|
CodeHunter |
24.9.2010, 9:43
Сообщение
#16
|
Студент Группа: Участник Сообщений: 33 Регистрация: 26.8.2010 Пользователь №: 1982 Спасибо сказали: 1 раз(а) Репутация: 0 |
|
|
|
igor_bogomolov |
24.9.2010, 9:46
Сообщение
#17
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
CodeHunter, да что ж ты какой не адекватный. Читай ассистент по поводу qInstallMsgHandler, потом спорь.
Тему закрываю. |
|
|
Litkevich Yuriy |
24.9.2010, 10:17
Сообщение
#18
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Тему закрываю. не, закрывать не надо. У меня кой чего по ней есть, только писать пока времени нет.Он хотел выводить инфу в файл !!!!! и он её выводит, без изменения всех исходников. Просто есть обезьяний подход - исправление всех исходников, а есть программистский - установка глобального обработчика. Решение красивое и предусмотренное библиотекой Qt.
|
|
|
sfour.aj |
26.2.2013, 6:31
Сообщение
#19
|
Новичок Группа: Новичок Сообщений: 1 Регистрация: 26.2.2013 Пользователь №: 3728 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте. Вижу, что тема закрыта, но не я мог обойти столь напряженную дискуссию
Я в каждом серьезном проекте использую вывод логов в файл, так называемую экстремальную отладку. Делаю я это через тот же MsgHandler, все отлично работает:
Такой вариант меня еще ни разу не подводил. Хотя вариант с созданием переменной QDebug тоже вполне рабочий, этот будет более изящным (ИМХО) |
|
|
Текстовая версия | Сейчас: 23.11.2024, 20:19 |