| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Как получить то что выводиться в консоль |
| Автор: savage_fx 4.8.2007, 12:37 |
| Как сделать такое вот: Если какая-то информация поступает в консоль через System.out (например при эксепшине или я сам напишу System.out.println("")) то выскакивает диалог с textarea , а в textarea - то , что вывелось в консоль последним |
| Автор: powerOn 4.8.2007, 14:46 |
| Напиши свой собственный механизм ведения лога, который при посылке сообщения в лог будет выводить его и консоль и в textarea. |
| Автор: LSD 4.8.2007, 16:19 |
Тут два варианта:
|
| Автор: savage_fx 8.8.2007, 12:37 |
| А что такое appender? Как соединить консоль и Log4j ? |
| Автор: Metal_Heart 8.8.2007, 13:57 |
| имелось ввиду - не в консоль выводить, а писать отдельный лог. |
| Автор: savage_fx 9.8.2007, 13:04 |
| то есть можно, не прописывая в теле эксепшена код для записи в лог,можно как-то получить описание ошибки ,которая вывалиться в эксепшн,откуда-то еще в тот момент? |
| Автор: AntonSaburov 9.8.2007, 13:18 |
| Если блок оформлен как try ... catch, то достаточно сделать в catch printStackTrace(). И весь стек пойдет в err. Но в хорошем коде все-таки лучше делать логи нормальные - log4j сложно переплюнуть Что-то затянули тему по-моему |
| Автор: sith 9.8.2007, 16:39 |
| .... может я чего то не понял... но помойму все намного проще... ... как мне показалось чуваку... нужно просто в своем гуи приложении в отдельном окне смотреть есть ли ошибка или нет... и если нет что бы сведенья об ошибки выводились в компоненту... ну так создаеться простейший метод которому передееться обьект ексцепшина... а в этом методе происходит его чтения и отображения с помощью какого либо гуи элемента... ... в каждом блоке catch вызываеться этот метод и все... ... или я что то не так понял... |
| Автор: y3u 9.8.2007, 17:08 |
| а в систем аут свой поток подоткнуть не проще тогда? |
| Автор: savage_fx 9.8.2007, 22:06 |
| Вообщем идея была такая: У меня уже более метра кода и не в каждом из блоков catch{} стоит вывод в Systen.out или PrintStackTrace() .Если в каком-то месте ошибка ,то в консоль все-равно что-то выводиться и мне нужно было,что не редактировать теперь каждый блок catch,перехватить ту инфу и чтобы в программе при возникновении любой ошибки,выскакаивал диалог с текстом того эксепшена . Типа "Замечена ошибка там-то.Отправить сообщение разработчику?" |
| Автор: LSD 10.8.2007, 00:12 |
http://logging.apache.org/log4j/docs/api/org/apache/log4j/Appender.html. Не совместить, а заменить консоль на Log4j. |
| Автор: math64 10.8.2007, 09:22 |
| При старте программы создать JDialog с extends JTextComponent и кнопками закрытия и очистки текста. Создать PrintStream который выводит в JTextComponent и показывает JDialog и переназначить им System.out и System.err. |
| Автор: LSD 11.8.2007, 11:26 |
Нет не проще, т.к. он же хотел показывать диалог именно когда произошла ошибка, а не чтобы он постоянно на экране торчал и выводил, все что туда пишется. Придется парсить, то что пишется в консоль на предмет начала/конца стектрейса. |