Google App Engine Java использует java.util.logging для создания сообщений журнала. Я хочу изменить сообщения журнала, которые отображаются в Консоли разработчика - Мониторинг - Журналы. Идея заключается в том, чтобы добавить некоторые дополнительные выходные, как имя пользователя, не помещая его в каждом журнале сообщений вручную:Как настроить ведение журнала для Google App Engine Java?
log.info("user action");
должно привести к выходу лесозаготовительной как
user "testuser": user action
Поэтому я создал собственный Formatter:
public class TestFormatter extends Formatter {
@Override
public String format(LogRecord record) {
// find out username..
return "user " + username + ": " + record.getMessage();
}
}
Установка этого форматирования для ConsoleHandler в logging.properties не имеет значения: java.util.logging.ConsoleHandler.formatter = com.example.guestbook.TestFormatter
При развертывании его на локальной машине, и пытается добавить его программно, как это:
Logger rootLogger = Logger.getLogger("");
Handler[] handlers = rootLogger.getHandlers();
log.info("Handler[] size: " + handlers.length);
for(Handler h : handlers) {
log.info(h.toString());
h.setFormatter(new TestFormatter());
}
Я получаю 2 обработчика, один ConsoleHandler
и один DevLogHandler
. Но установка форматирования приводит к тому, что дальнейшие журналы не отображаются. На GAE вместо этого я получаю 0 обработчик.
При попытке Acces Logger.getGlobal()
вместо Logger.getLogger("")
, я получаю 0 Handler на локальном экземпляре и SecurityException: Нет разрешения на изменение глобального на GAE. Это исключение уже возникает при попытке получить список обработчиков.
Теперь мой вопрос: есть ли способ изменить журналы консоли разработчика таким образом? Если да, то как?
Спасибо за информацию. Не могли бы вы добавить ссылку на билет? Это очень важное решение для моих магистерских диссертаций;) – Lukas
К сожалению, это частный билет, не доступный за пределами пользователей нашей компании. –
Хорошо, может быть, есть общественный источник для этого факта, или другие решили проблему в любом случае. – Lukas