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
Я также был бы признателен, если бы кто-то продемонстрировал небольшой фрагмент с записью некоторых данных (если он работает). Я подозреваю, что моя проблема может быть одной из этих глупых проблем, когда причиной может быть некоторая некорректно расположенная запятая.
Ответы
Ответ 1
Проблема сократилась до более конкретной формы - App Engine "ест" информационные сообщения, но показывает другие, такие как сообщения об ошибках и предупреждениях.
После этого вызова я в конце концов увидел свои информационные сообщения:
log.setLevel(Level.INFO);
Но это все еще неясно - почему информационные сообщения не показывались. Google manual:
Все, что сервлет пишет в стандартный выходной поток (System.out) и стандартный поток ошибок (System.err) захватывается App Engine и записывается в журналах приложений. Строки, написанные к стандартному потоку вывода регистрируются на уровне "INFO", а строки записывается в стандартный поток ошибок регистрируются на уровне "ПРЕДУПРЕЖДЕНИЕ".
Ответ 2
Может ли быть, что ваш 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
Ответ 3
Имела точно такую же проблему и после изменения значения в logging.properties из
.level = ПРЕДУПРЕЖДЕНИЕ
к
.level = INFO
Проблема была окончательно исправлена. Google необходимо обновить свою документацию и/или изменить значение предоставленного по умолчанию, чтобы сообщения журнала "INFO" не проглатывались.
Ответ 4
Я использовал для установки LEVEL
в SEVERE
для тестирования
logger.log(Level.SEVERE, "test message");
Не нужно изменять значение в logging.properties