Google App Engine - не могу найти мои сообщения

Я не могу найти результаты моих звонков. Для регистрации сообщений я попробовал оба:

System.out.println("some message"); 

а также

Logger logger = Logger.getLogger("MyLogger"); // Logger is java.util.logging.Logger 

// ... 

logger.info("some message"); 

Я развернул свое приложение и после нескольких тестов решил проверить некоторые сообщения журнала. Но сообщений не было. Я изменил минимальный уровень серьезности на "Информация" со значения по умолчанию "Ошибка", и только сообщения, которые я видел, были служебными сообщениями, подобными этому:

http://dl.dropbox.com/u/1678938/logs.png

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

4 ответа

Решение

Проблема сократилась до более конкретной формы - App Engine "ест" информационные сообщения, но отображает другие, такие как сообщения об ошибках и предупреждения.

После этого звонка я наконец увидел свои информационные сообщения:

log.setLevel(Level.INFO);

Но все еще не ясно - почему информационные сообщения не показывались. Руководство Google гласит:

Все, что сервлет записывает в стандартный поток вывода (System.out) и стандартный поток ошибок (System.err), фиксируется App Engine и записывается в журналы приложений. Строки, записанные в стандартный поток вывода, записываются на уровне "INFO", а строки, записанные в стандартный поток ошибок, записываются на уровне "WARNING".

Может ли быть так, что ваш logging.properties устанавливает значение по умолчанию WARNING?

У нас есть это в нашем war/WEB-INF/logging.properties файл:

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

# Default level for subpackages of 'server' will be INFO
com.company.whatever.server.level=INFO

Была точно такая же проблема и после изменения значения в logging.properties из

.level = ПРЕДУПРЕЖДЕНИЕ

в

.level = ИНФО

Проблема была окончательно исправлена. Google необходимо обновить свою документацию и / или изменить значение предоставленного значения по умолчанию, чтобы сообщения журнала "INFO" не проглатывались.

Я привык устанавливать LEVEL в SEVERE для тестирования

 logger.log(Level.SEVERE, "test message");

Не нужно изменять какие-либо значения в logging.properties

Другие вопросы по тегам