У меня есть сервлет. Но это не работает, как желаемый. Следовательно для отладки целей, я хочу к операторам печати к консоли Java (тот, который может быть открыт с помощью значка Java в панели задач). Однако, если я использую System.out.println ("сообщение"), он не отображается в консоли Java.
Есть ли какой-либо альтернативный путь, где я могу отобразить сообщения к консоли от сервлета? Или кто-либо может предложить меня альтернативный способ отобразить сообщения к какой-либо другой консоли?
В какой консоли вы ожидаете его появления?
В зависимости от контейнера сервлета (я предполагаю, что Tomcat) журналы хранятся в папке журналов
. Для Tomcat это tomcat / logs
(или чаще упоминается как CATALINA_HOME / logs
). Если вы запускаете его из среды IDE - они должны быть в консоли IDE.
В качестве примечания, использование System.out
не рекомендуется для реального продукта - используйте структуру журналирования (например, log4j ).
Вам следует использовать ведение журнала, например java.util.logging или log4j
Пример соответствующей конфигурации log4j:
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{1} - %m%n"/>
</layout>
</appender>
<root>
<priority value ="debug" />
<appender-ref ref="console" />
</root>
Найдите файл журнала в папке log вашего контейнера сервлетов (т.е. Tomcat).
Как было предложено, используйте log4j для генерации отладочных сообщений. Этот фреймворк протоколирования предоставляет конфигурационный файл, в котором вы можете задать такие вещи, как место, куда должны записываться журналы, или как должны быть отформатированы сообщения журнала. Как только это будет сделано, вы можете заменить
System.out.println("message");
на
log.debug("your debug message");
или
log.info("in case of a message with info character");
log.error("routine foo has experienced an exception", e);
Теперь ваш код стал намного чище, и даже есть еще одно преимущество - при правильном размещении эти журналы действуют как документация для ваших сегментов кода.
Я хочу выводить утверждения в консоль java (ту, которую можно открыть с помощью значка java на панели задач)
Вы должны понимать, что сервлеты на самом деле работают на стороне сервера, а не на стороне клиента. На самом деле это две физически разные среды, которые взаимодействуют друг с другом по сети с помощью протокола HTTP. Эта Java-консоль будет работать только для Java-программ, которые выполняются на стороне клиента, таких как апплеты и JNLP.
В вашем случае вам просто нужно прочитать журналы сервера. Именно туда по умолчанию печатается stdout
, или используйте лучше настраиваемую структуру логирования, такую как logback. Журналы сервера обычно находятся в простой папке/файле в каталоге установки сервера, например /logs
в случае Tomcat.