2012-12-26 3 views
1

Я не вижу трассировки стека, напечатанной на e.printStackTrace(); в моей java-консоли приложения, работающей в ящике Google (не локальном). Я пробовал log level ALL, DEBUG и INFO в файле logging.properties. Еще нет трассировки стека. Я вижу только мою регистрацию печати из инструкции _logger. Это не помогает отслеживать ошибку. Как можно напечатать трассировку стека?e.printStackTrace(); не печатает в консоли приложения-приложения

{ .... 
    } catch (Exception e) { 
     e.printStackTrace(); 
     _logger.severe("Exception : " + e); 
    } 
+0

У меня такая же проблема. Документация о протоколировании очень важна, что она должна быть в журнале, но она не работает :-( –

ответ

1

У меня была та же проблема. Пробег

_logger.log (Level.SEVERE, e.getMessage(), e);

вместо этого.

0

Если вы не даете printStackTrace() аргумент, он будет печатать на стандартный поток ошибок. Этот выходной поток ошибки будет значением System.err.

+2

'Все, что записывает сервлет в стандартный поток вывода (System.out) и стандартный поток ошибок (System.err) App Engine и записываются в журналы приложений. Линии, записанные в стандартный выходной поток, регистрируются на уровне «INFO», а строки, записанные в стандартный поток ошибок, регистрируются на уровне «ПРЕДУПРЕЖДЕНИЕ». Поэтому они должны находиться в консоль. Почему бы мне не увидеть трассировку стека? –

+0

https://developers.google.com/appengine/docs/java/runtime#Logging –

Смежные вопросы