2016-09-12 5 views
2

Есть ли способ превратить трассировку и войти в систему для приложения Java, которое не является ни Java Web Start, ни апплетным приложением Java-приложения? Я говорю о приложении, которое будет выполняться двойным щелчком по исполняемому файлу jar или запущенным из командной строки, набрав java -jar nameofjarfile.jar. Я включил ведение журнала и трассировку в панели управления Java, но это, похоже, не имеет никакого эффекта. Единственные журналы трассировки, которые я вижу, - это журналы трассировки, созданные для выполнения панели управления java. Насколько я могу различить документацию, параметры панели управления java для включения ведения журнала и трассировки специфичны для приложений Web Start и апплетов. Когда я запускаю приложение java для рабочего стола, не генерируется файл .trace.Использовать средства трассировки java с настольным приложением

Заранее спасибо.

+1

Перенаправить stdout в файл. http://stackoverflow.com/questions/2851234/system-out-to-a-file-in-java –

+1

Регистрация и отслеживание в панели управления для ведения журнала JVM. Вам нужно исследовать, как приложение, которое вы используете, регистрируется и соответствующим образом настраивается. –

+0

Мое приложение не использует какие-либо средства ведения журнала только некоторые данные для стандартного вывода. Мне нужен файл .trace, который должен быть создан, когда трассировка включена. Это требование для сертификации моего приложения для работы в моей корпоративной сети. Причина в том, что файл .trace не создается, потому что мое приложение не использует никаких протоколов, или что параметр трассировки в панели управления java и файле deployment.properties - это всего лишь средство для записи журнала трассировки для приложений, запущенных с помощью плагин для браузера, где приложение для Java-приложения должно быть настроено для того, где хранить журнал, работает журнал трассировки? – George

ответ

0

Похоже, что нет никакой эквивалентности опции трассировки, предлагаемой в панели управления Java, для приложений, запускаемых с использованием обычная виртуальная машина. Параметры в панели управления Java предназначены специально для приложений Java Web Start и Java Applets. Он не влияет на приложения Java Desktop, запущенные двойным щелчком по исполняемому файлу jar или путем ввода java -jar javaapp.jar в командной строке. Хотя в документации указано, что трассировка выводится из консоли java в файл .trace, консоль, к которой они говорят, является консолью Java, доступной только для веб-запуска и апплетов. Они не говорят о стандартной и стандартной ошибках. Хотя стандартная и стандартная ошибка выводится на консоль Java, Java-консоль также включает в себя информацию о загрузочном ремешке самой JVM, такую ​​как версия java, точный путь к исполняемому файлу java, информацию прокси и многое другое. Я уверен, что может быть способ генерировать эквивалентные данные, которые не могут быть выполнены с помощью параметров трассировки и журнала панели управления Java или с параметрами Property Deployment, такими как -DDeployment.trace = true. Вы можете увидеть информацию, о которой я говорю, перейдя в java-учебники и запустив одно из многих приложений для веб-запуска, на которые они ссылаются в своих учебниках. Обязательно перейдите на панель управления Java и отметьте опцию «Показать консоль» на вкладке «Дополнительно». Когда вы запустите приложение Java Web Start с этой опцией, откроется Java-консоль. Вывод на эту консоль - это то, что выгружено в файл .trace, когда параметр «Включить трассировку» выбран на той же вкладке «Дополнительно» панели управления Java. Если вы также включаете ведение журнала, то выводится вывод консоли в файл .log, но в формате XML.

1

Я не уверен, что именно вы ищете, но для ведения журнала вы можете использовать несколько доступных инструментов ведения журнала, таких как slf4j или log4j, чтобы назвать 2, которые я использовал. Они могут быть легко интегрированы в ЛЮБОЕ приложение независимо от того, является ли оно веб-сайтом или нет. Вот ссылки на те 2: Log4J, slf4j. Также вы можете найти библиотеку Mgnt полезной. Одна из его утилит позволяет фильтровать и значительно сократить ваш стек, не теряя содержательной информации. Но эта на самом деле самая эффективная для веб-приложений, которые производят очень длинные стеки с большим количеством бессмысленной информации. В любом случае, здесь приведена ссылка на статью о библиотеке Mgnt со ссылками на нее, а также ее источниками: Mgnt

+0

Мне необходимо предоставить журнал трассировки для моего приложения как одно из требований, чтобы получить сертификацию, которая работает правильно на определенной платформе. Судя по полученным комментариям, я думаю, что для создания журнала трассировки может понадобиться средство ведения журнала, такое как log4j. В настоящее время я не использую никаких протоколов. Просто уведомление пользователя и выход на консоль. В этом случае для ведения журнала трассировки необходимо использовать ведение журнала? – George

+1

Ведение журнала - это то, что вам нужно для входа в приложение. Вы можете не регистрироваться вообще, но это было бы неприемлемой практикой, кроме самых простых приложений. Когда вы решите писать журналы, вам нужно выбрать, какие инструменты ведения журнала вы собираетесь использовать. В моем ответе я представил 2 самых известных мне. Что касается трассировки - см. Эту ссылку: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/jcp/tracing_logging.html#tracing –

+0

Я прочитал эту статью, и она специально упоминает Tracing for Java Plug-in и Java Web Start ". Нигде не упоминается, как включить трассировку для Java-приложения, которое не является Java Web Start или java-апплетом. Спасибо за ссылки на библиотеку журналов, которые я рассматриваю log4j для Некоторое время, но я планирую интегрировать его позже. Сейчас мне просто нужно предоставить файл .trace для сертификации, требуемой моим приложением, и было прыгать, было что-то простое, что мне не хватало, почему никто не создан, даже если трассировка – George

Смежные вопросы