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