Как мне передать выходные данные консоли Java в файл?

StackOverflow https://stackoverflow.com/questions/626389

Вопрос

Я обнаружил ошибку в приложении, которая полностью замораживает JVM.Созданный stacktrace предоставил бы разработчикам ценную информацию, и я хотел бы получить ее из консоли Java.Когда JVM выходит из строя, консоль зависает, и я больше не могу скопировать содержащийся текст.

Есть ли способ передать консоль Java непосредственно в файл или каким-либо другим способом доступа к консольным выводам Java-приложения?

Обновить:Я забыл упомянуть, не меняя код.Я ручной тестировщик.

Обновление 2:Это работает под управлением Windows XP, и на самом деле это приложение веб-запуска.Прокладка трубопровода на выходе

javaws jnlp-url
не работает (пустой файл).

Это было полезно?

Решение

На самом деле можно активировать отслеживание в панели управления Java.Это передаст все, что попадает в консоль Java, в файл трассировки.

Файлы журнала окажутся в:

  • <user.home>/.java/развертывание/вход в систему в Unix/Linux
  • <User Application="" Data="" Folder="">\Sun\Java\Развертывание\вход в систему в Windows
  • /~/Библиотека/Кэширование/Java/вход в OS X

Другие советы

(если вы можете изменить код), вы можете установить в поле System.out другое значение:

System.setOut(new PrintStream(new FileOutputStream(fileName)));

Если вы запускаете скрипт (вызываете программу через java) из Unix, вы можете сделать это:

/path/to/script.sh >& path/to/output.log

В Mac 10.8.2 журналы можно найти на /Users/<userName>/Library/Application Support/Oracle/Java/Deployment/log/.

Прежде чем вам нужно будет включить ведение журнала из панели управления Java. Опция & Quot; Enable logging & Quot; находится на вкладке " Advanced " ;. Панель управления Java может быть запущена из & Quot; System preferences & Quot;.

Замороженная консоль, вероятно, означает тупик (это также может означать повторное создание исключения). Вы можете получить дамп стека с помощью jstack. jps может упростить процесс поиска.

попробуйте это руководство У меня это работает. также вы узнаете, как установить " System.setOut (fileStream); " ;, " System.setErr (fileStream); "

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top