Подтвердить что ты не робот

Создание сообщений журнала, видимых на сервере разработки Java GoogleAppEngine (используется с GWT)

Я использую java.util.logging.Logger, чтобы выполнить регистрацию в приложении Java GoogleAppEngine. Это работает, когда приложение развертывается. Тем не менее, я не могу видеть свои сообщения журнала при запуске моего приложения на сервере разработки.

Дополнительные дополнительные сведения:

  • Я запускаю сервер разработки движка приложений внутри контейнера режима разработки GWT, а не автономный.
  • У меня настроен параметр logging.properties, хотя, похоже, он не имеет никакого значения (он работает правильно при создании или без ведения журналов .properties, и он не работает в разработке с или без logging.properties).
  • Если я использую System.out.println на сервере разработки, это выводится на терминал, с которого я запускал контейнер режима разработки GWT. Очевидно, что это полезное решение, но я бы хотел, чтобы протоколы работали только в режиме разработки и производства.

Кто-нибудь получил регистрацию, работающую в режиме разработки (с использованием или без использования AppEngine в сочетании с контейнером режима разработки GWT)? Есть ли какое-то волшебное заклинание, которое мне нужно, чтобы увидеть мой выход в журнал?

4b9b3361

Ответ 1

У меня была такая же проблема вчера, но теперь она работает для меня.

Не уверен, что такое изменение, но я выложу свою конфигурацию ниже, чтобы вы могли попробовать (работает GAE 1.3.8, нет GWT, но не имеет значения).

Обратите внимание, что журналы появятся в окне консоли (среди других протоколов сервера). Я не уверен, что вы можете заставить его записывать файлы, поскольку сервер работает в виде песочницы. Я тестировал эту конфигурацию только в своей локальной среде, но не загружался.

WEB-INF/AppEngine-web.xml:

   <?xml version="1.0" encoding="utf-8"?>
   <appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
      <!-- (omitted application,version from sample-->
      <system-properties>
        <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
      </system-properties>
   </appengine-web-app>

WEB-INF/logging.properties:

  # Set the default logging level for all loggers to WARNING
  #.level = WARNING
  #.level = ALL
  .level = INFO

logtest.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<%@ page import=" java.util.logging.Logger"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="sv" xml:lang="sv">
<head>
</head>

<%
Logger logger = Logger.getLogger("org.whatever.Logtest");
logger.info("logtest info");
logger.warning("logtest warning");
logger.severe("logtest severe");


%>

<body>
Check the console for logging
</body>

</html>

Ответ 2

Plase изменит ваш файл WEB-INF/logging.properties.

Добавить

    .level=INFO

Ответ 3

Убедитесь, что в вашем файле logging.properties установлены правильные классы журналов и уровень ведения журнала:

WEB-INF/logging.properties:

# Configure a file log for devserver
handlers=java.util.logging.ConsoleHandler,java.util.logging.FileHandler
java.util.logging.FileHandler.pattern=/tmp/appengine-devserver.log
java.util.logging.FileHandler.limit=0  # no limit
java.util.logging.FileHandler.count=1
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter

# Set the default logging level for all loggers to WARNING
.level = INFO