2015-05-20 3 views
3

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. Это исключение уже возникает при попытке получить список обработчиков.

Теперь мой вопрос: есть ли способ изменить журналы консоли разработчика таким образом? Если да, то как?

ответ

1

Как я отвечаю я получил в прошлом с билетом Google я открыл для аналогичного вопроса

Я бы препятствовать фальсификациям с лесозаготовителями/Манипуляторы используются внутренне GAE.

Кроме того, Глобальный регистратор не может быть настроена, вы можете попробовать к нему с Logger с пользовательским именем

+0

Спасибо за информацию. Не могли бы вы добавить ссылку на билет? Это очень важное решение для моих магистерских диссертаций;) – Lukas

+0

К сожалению, это частный билет, не доступный за пределами пользователей нашей компании. –

+0

Хорошо, может быть, есть общественный источник для этого факта, или другие решили проблему в любом случае. – Lukas

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